20181209沙桐 第二次实验报告
课程:《Python程序设计》
班级:1812
姓名: 沙桐
学号:20181209
实验教师:王志强
实验日期:2020年4月14日
必修/选修: 公选课
## 1.实验内容
设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善。
考核基本语法、判定语句、循环语句、逻辑运算等知识点
## 2. 实验过程及结果
实验思路:
整体构思分为简单计算 ,计算式,高级计算
引用math 库
首先写出加减乘除和数字式函数表达式
然后运用if语句写出高级计算的各个情况
实验结果截图
源代码
import math
# 定义函数
def add(x, y):#加
return x + y
def subtract(x, y):#减
return x - y
def multiply(x, y):#乘
return x * y
def divide(x, y):#除
return x / y
def test(date):#表达式
result = eval(date)
return result
# 用户输入
print("选择运算:")
print("1、相加")
print("2、相减")
print("3、相乘")
print("4、相除")
print("5、计算表达式")
print("6、高级")
choice = input("输入你的选择(1/2/3/4/5/6):")
if choice =='1':
x = float(input("请输入第一个数:"))
y = float(input("请输入第二个数:"))
print("结果为:")
print(add(x, y))
elif choice == '2':
x= float(input("请输入第一个数:"))
y = float(input("请输入第二个数:"))
print("结果为:")
print(subtract(x, y))
elif choice == '3':
x = float(input("请输入第一个数:"))
y = float(input("请输入第二个数:"))
print("结果为:")
print(multiply(x, y))
elif choice == '4':
x = float(input("请输入第一个数:"))
y = float(input("请输入第二个数:"))
print("结果为:")
print(divide(x, y))
elif choice == '5':
date = input("请输入计算式:")
print("结果为:")
print(test(date))
elif choice == '6':
print("1:对数函数 2:开方 3:取整 4:绝对值运算 5:阶乘运算 6:e的x次幂 7:平方根 8:角度值转弧度值 9:sin运算 10: cos运算 11: tan运算")
s = int(input("请输入运算方法:"))
if s == 1:
print("对数运算")
x = float(input("请输入运算数:"))
y = float(input("请输入底数:"))
print("结果为:", math.log(x, y))
elif s == 2:
print("开方运算")
x = float(input("请输入运算数:"))
print("开方运算\n结果为:", math.sqrt(x))
elif s == 3:
print("取整运算")
x = float(input("请输入运算数:"))
print("取整\n结果为:", math.trunc(x))
elif s == 4:
print("绝对值运算")
x = float(input("请输入运算数:"))
print("绝对值\n结果为:", math.fabs(x))
elif s == 5:
print("阶乘运算")
x = float(input("请输入运算数:"))
print("阶乘\n结果为:", math.factorial(x))
elif s == 6:
print("e的x次幂运算")
x = float(input("请输入运算数:"))
print("e的x次幂\n结果为:", math.exp(x))
elif s == 7:
print("平方根运算")
x = float(input("请输入运算数:"))
print("平方根\n结果为:", math.sqrt(x))
elif s == 8:
print("角度值转弧度值运算")
x = float(input("请输入运算数:"))
print("角度值转弧度值\n结果为:", math.radians(x))
elif s == 9:
print("sin运算")
x = float(input("请输入运算数:"))
print("sin\n结果为:", math.sin(x))
elif s == 10:
print("cos运算")
x = float(input("请输入运算数:"))
print("cos\n结果为:", math.cos(x))
elif s == 11:
print("tan运算")
x = float(input("请输入运算数:"))
print("tan\n结果为:", math.tan(x))
else:
print("非法输入")
码云链接:https://gitee.com/tung_tree1/workplace/blob/master/5.py
## 3. 实验过程中遇到的问题和解决过程
- 问题1:数字式无法计算,用input输入后再用 print输出的都是将输入的式子给输出了
- 问题1解决方案:经过多次尝试,发现可以建立一个函数解决
- 问题2:输入小数无法计算
- 问题2解决方案:将所有数字都改为了 float
## 其他(感悟、思考等)
函数用着还是非常方便的,可以用于解决很复杂的问题还有编程的时候需要注意细节,本次实验中就有很多细节出错,导致调试了很久才可以运行。还无法太复杂的的程序,需要多多学习,提高能力,这个简单的计算器还做了很久,属实有点菜啊