201922904李龙威 2019-2020-2 《Python程序设计》实验二报告

20192204 2019-2020-2 《Python程序设计》实验二报告

课程:《Python程序设计》
班级: 1922
姓名: 李龙威
学号:20192204
实验教师:王志强
实验日期:2020年4月14日
必修/选修: 公选课

1.实验内容

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

2. 实验过程及结果

本实验中设计的计算机可进行加减乘除法及平方根运算、指对数及三角函数的混合运算

通过eval()函数将用户输入的字符串类型的表达式转化为命令形式

使用while永真循环与if语句使得运算可反复进行

导入math模块后将数学表达式的输入方式在上方提示出来
然后用户将想要计算的表达式按格式输入即可计算比较复杂的混合运算
代码截图

代码运行结果

源代码:

print("python计算器,要计算的表达式请自己手动输入")
print("支持加减乘除、平方根运算、指对数及三角函数的混合运算,指对数及三角函数运算的表达式的输入要严格采用下面给出的形式")
print("要计算a的平方根请键入”math.sqrt(a)“")
print("要计算a的b次方请键入“math.pow(a,b)”")
print("要计算log以a为底b的对数请键入“math.loga(b)”")
print("要计算tan(a)请键入”math.tan(a)“")
print("要计算sin(a)请键入“math.sin(a)”")
print("要计算cos(a)请键入”math.cos(a)“")
print("数学中的Π/n可用”math.pi/n“表示")
while True:
    expression = input("在此输入要计算的表达式:") #用户手动输入想要计算的表达式
    result = eval(expression)    #用eval()函数将用户手动输入的字符串类型的数学表达式转化为命令,可以节省掉大篇幅的代码
    print(str(expression)+'='+str(result))
    a = int(input("输入数字1继续计算,输入数字0中止运算:"))
    if a == 0:
        print("感谢您的使用,再见^_^")
        break;

代码的码云链接:https://gitee.com/king_li_long/python/commit/3eeb5057233640b995f25057a5d1fe2ca213d2fa

3. 实验过程中遇到的问题和解决过程

  • 问题:之前试过连用多个if...elif...default语句来判断用户要计算的运算类型,但是涉及代码十分冗杂,且无法有效进行复合运算
  • 解决方案:使用eval()函数直接将用户输入的字符串转化为命令,这样不仅简化了代码,而且运算效率也得以提高

其他(感悟、思考等)

感悟:python中有些函数的功能真的强大,可以简化不少问题

参考资料

eval() python怎么把字符串变成可执行命令?链接:https://blog.csdn.net/weixin_34128237/article/details/91933587

猜你喜欢

转载自www.cnblogs.com/kinglilong/p/12701081.html