20241116 2024-2025-2 《Python程序设计》实验二报告

课程:《Python程序设计》
班级: 2411
姓名: 魏铼
学号:20241116
实验教师:王志强
实验日期:2025年3月26日
必修/选修: 公选课

(一) 实验内容
1.设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善。
2.考核基本语法、判定语句、循环语句、逻辑运算等知识点

(二) 实验过程及结果
1.计算器需要包含加减乘除四则运算,可定义函数进行计算。并设计属于自己的计算器封面,设计控制计算器是否继续。
import math
def Csum(num1, num2):
return num1 + num2
def Csub(num1, num2):
return num1 - num2
def Cmulti(num1, num2):
return num1 * num2
def CDiv(num1, num2):
if num2 == 0:
print("除数不能为0")
return 0
return num1 / num2
num1 = int(input("请输入一个数:"))
num2 = int(input("请输入另一个数:"))
choice = input("请输入运算符(+-/):")
if choice == "+":
print("num1 ",choice, " num2 = ", Csum(num1, num2))
elif choice =="-":
print("num1 ",choice, " num2 = ", Csub(num1, num2))
elif choice == "
":
print("num1 ",choice, " num2 = ", Cmulti(num1, num2))
elif choice == "/"😦
print("num1 ",choice, " num2 = ", CDiv(num1, num2)))

conti = input("是否继续?Y/N\n")
if conti == "Y" or conti == "y":
    flag = True
else:
    flag = False

2.将计算器功能从整数拓展到复数,程序先判断是整数还是复数。注意复数是a+bj而不是a+bi(这点与数学区分开来)。
代码如下
import math
def Csum(num1, num2):
return num1 + num2
def Csub(num1, num2):
return num1 - num2
def Cmulti(num1, num2):
return num1 * num2
def CDiv(num1, num2):
if num2 == 0:
print("除数不能为0")
return 0
return num1 / num2

flag = True
while flag:
if input("请问:需要复数(1)还是整数(2)运算?\n")=="1":
num1 = complex(input("请输入一个数:"))
num2 = complex(input("请输入另一个数:"))
else:
num1 = int(input("请输入一个数:"))
num2 = int(input("请输入另一个数:"))
choice = input("请输入运算符(+-/):")
if choice == "+":
print("num1 ",choice, " num2 = ", Csum(num1, num2))
elif choice =="-":
print("num1 ",choice, " num2 = ", Csub(num1, num2))
elif choice == "
":
print("num1 ",choice, " num2 = ", Cmulti(num1, num2))
elif choice == "/"😦
print("num1 ",choice, " num2 = ", CDiv(num1, num2)))

conti = input("是否继续?Y/N\n")
if conti == "Y" or conti == "y":
    flag = True
else:
    flag = False

运行结果如下

3.进一步拓展计算器的功能,如增加对数函数和幂函数。
代码如下

import math
def Csum(num1, num2):
return num1 + num2
def Csub(num1, num2):
return num1 - num2
def Cmulti(num1, num2):
return num1 * num2
def CDiv(num1, num2):
if num2 == 0:
print("除数不能为0")
return 0
return num1 / num2
def logab(a,b):
return math.log(a,b)

flag = True
while flag:
if input("请问:需要复数(1)还是整数(2)运算?\n")=="1":
num1 = complex(input("请输入一个数:"))
num2 = complex(input("请输入另一个数:"))
else:
num1 = int(input("请输入一个数:"))
num2 = int(input("请输入另一个数:"))
choice = input("请输入运算符(+-/ log):")
if choice == "+":
print("num1 ",choice, " num2 = ", Csum(num1, num2))
elif choice =="-":
print("num1 ",choice, " num2 = ", Csub(num1, num2))
elif choice == "
":
print("num1 ",choice, " num2 = ", Cmulti(num1, num2))
elif choice == "/"😦
print("num1 ",choice, " num2 = ", CDiv(num1, num2)))
elif choice == "log":
print("log以",num2,"为底",num1, "的对数 = ", logab(num1, num2))

conti = input("是否继续?Y/N\n")
if conti == "Y" or conti == "y":
    flag = True
else:
    flag = False

运行结果如下

三、实验过程中遇到的问题和解决过程
问题:复数用i表示不行
解决过程:ai搜,知道要用j不用i

四、其他(感悟、思考等)
要注意用python编程时所用知识于平时的区别,还要多多思考怎么简化冗杂的程序

参考资料
《零基础学python》

posted @ 2025-04-09 21:04  Futuree  阅读(10)  评论(0)    收藏  举报