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



## 其他(感悟、思考等)

函数用着还是非常方便的,可以用于解决很复杂的问题还有编程的时候需要注意细节,本次实验中就有很多细节出错,导致调试了很久才可以运行。还无法太复杂的的程序,需要多多学习,提高能力,这个简单的计算器还做了很久,属实有点菜啊

posted @ 2020-04-14 14:57  STong66  阅读(157)  评论(0编辑  收藏  举报