20201320 2020-2021-2 《Python程序设计》实验二报告
课程:《Python程序设计》
班级: 2013
姓名: 石志涛
学号:20201320
实验教师:王志强
实验日期:2021年4月26日
必修/选修: 公选课
(一)实验内容
设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善。
包含功能有基本四则运算、取模运算、求幂运算、计算简单的三角函数、求阶乘、解一元二次方程。
考核基本语法、判定语句、循环语句、逻辑运算等知识点
(二)实验过程及结果
首先参考网上的计算器代码,并去csdn查询math库中关于三角函数的方法,用多个函数封装了计算器的取模、求幂、阶乘功能等。基本四则运算
四则运算
def arithmetic(a, b, op):#四则运算 if op == "+": return a + b elif op == "-": return a - b elif op == "*": return a * b elif op == "/": return a / b elif op == "//": return a // b elif op == "%": return a % b
三角函数
def act(x,op):#三角函数 if op== "sin": return math.sin(x) elif op == "cos": return math.cos(x) elif op == "tan": return math.tan(x) elif op == "arcsin": return math.asin(x) elif op == "arccos": return math.acos(x) elif op == "arctan": return math.atan(x)
取模
def op2(): print("现在进行 2.取模运算") print("请输入取模运算的两个操作数,注意两者均为整数") x = int(input("请输入被除数:")) y = int(input("请输入除数:")) while y == 0: print("输入错误!除数不能为0!") y = int(input("请重新输入整数除数:")) print(x % y)
求幂
def op3(): print("现在进行 3.求幂运算") a = float(input("请输入底数:")) b = float(input("请输入指数:")) print("a**b = ", a ** b)
解一元二次方程
def op6(): print("现在进行 6.解一元二次方程") a = float(input("请输入a:")) b = float(input("请输入b:")) c = float(input("请输入c:")) d = b*b - 4*a*c #求△ if d>=0: x1 = (-b+math.sqrt(d)) / (2*a) x2 = (-b-math.sqrt(d)) / (2*a) if d==0: print("X1 = X2 = "+str(x1)) else: print("X1 = "+str(x1)+','+"X2 = "+str(x2)) else: x1 = str(-b/(2*a)) + '+' + str(math.sqrt(-d)/(2*a)) + 'i' x2 = str(-b/(2*a)) + '-' + str(math.sqrt(-d)/(2*a)) + 'i' print("X1 = "+x1+','+"X2 = "+x2)
求阶乘
def op5(): print("现在进行 5.求阶乘") n = int(input("请输入一个整数:")) print(n,"! = ", math.factorial(n))
3. 实验过程中遇到的问题和解决过程
问题1:不知道如何计算三角函数
解决方案:去csdn查询相关知识
(四) 其他(感悟、思考等)
此次实验主要是采用了分而治之的思想,用函数是一个十分好的选择。
虽然python和c的语法方面差距较大,但是编程的思想是相通的。
(五)参考资料
python三角函数 https://blog.csdn.net/qq_35251502/article/details/112653632
(六)码云链接
https://gitee.com/killer-queen/my-warehouse