20192416 《Python程序设计》实验二报告

20192416 《Python程序设计》实验二报告

课程:《Python程序设计》
班级:1924
姓名:不愿透露姓名的はんたくさん
学号:20192416
实验教师:王志强老师
实验日期:2020年4月11日
必修/选修: 公选课

1.实验内容

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

2. 实验过程及结果

经过一段时间的努力,完成了一个较为简单的计算器。可以完成加、减、乘、除、模、三角函数、平方根。对于一些不符合规范的情况进行了error报错,提高了用户(只有我)的使用体验。

import math
print("这是一个巨菜的计算器:")
a = int (input("输入0:结束    输入1:加   输入2:减   输入3:乘   输入4:除   输入5:模   输入6:三角函数   输入7:求平方根
"))
if a==0:
    print("结束")
elif a==1:
    print("输入相加的数,最后一个数为0时结束")
    b = float(input())
    c=0
    while(b!=0):
        c=c+b
        b = float(input())
    print("他们的和为",c)
elif(a==2):
    print("先输入被减数,依次输入减数,最后一个数为0时结束")
    b = float(input())
    c=b*2
    while(b!=0):
        c=c-b
        b = float(input())
    print("结果为",c)
elif a==3:
    print("输入相乘的数,最后一个数为1时结束")
    b = float(input())
    c=1
    while(b!=1):
        c=c*b
        b = float(input())
    print("他们的积为",c)
elif a==4:
    print("先输入被除数,依次输入除数,最后一个数为1时结束")
    b = float(input())
    c = b*b
    while(b!=1 and b!=0):
        c=c/b
        b = float(input())
    else:
        print("error")
    print("他们的结果为",c)
elif a==5:
    print("分别输入a和b,将输出结果a%b")
    b=float(input())
    c=float(input())
    print(b,"%",c,"=",b%c)
elif a==6:
    print("下面进行三角函数的计算")
    a = float (input("输入1:sin   输入2:cos   输入3:tan   "))
    b = float (input("输入要进行计算的角度:"))
    c = b/180*math.pi
    if a==1:
        print("sin(",b,"°)=",round(math.sin(c),3))
    if a==2:
        print("sin(",b,"°)=",round(math.cos(c),3))
    if a==3:
        print("sin(",b,"°)=",round(math.tan(c),3))
elif a==7:
    b= float(input("输入要计算的数:"))
    if (b>=0):
        print("结果为:",math.sqrt(b))
    else:
        print("error")

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

  • 问题1:数学方面根号、三角函数不知如何表示。
  • 问题1解决方案:通过import math载入了各类特殊运算符。如:math.sqrt() 、 math.sin()、math.pi等
  • 问题2:三角函数那里保留位数过多,不好看。
  • 问题2解决方案:使用了round(a,b)a为需处理的数,b为保留的有效数字。

感悟

本次实验比较顺利,但因为能力有限,无法做出比较复杂的混合运算(知识的贫穷限制了我的想像),非常可惜。希望在接下来的学习中获得更强的编程能力,写出更加优秀的代码。

原文地址:https://www.cnblogs.com/hantaku/p/12677889.html