• 20191204 李浩鹏 2020-2021-2 《Python程序设计》实验二报告


    课程:《Python程序设计》
    班级: 1912
    姓名: 李浩鹏
    学号: 20191204
    实验教师:王志强
    实验日期:2021年4月26日
    必修/选修: 公选课

    1. 实验内容

    • 设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善。

    • 考核基本语法、判定语句、循环语句、逻辑运算等知识点

    2. 实验过程及结果

    实验代码

    """
    作者:小李睡不醒.
    文件名称:caculator.py
    时间:2021年4月26日23:00:00
    """
    注释 = '''
    圆周率 = pi              
    自然对数 = e               
    '''
    
    输入格式='''
    ***********************对数***************************
    *   加减乘除  取模 整除 运算符 小括号(英文括号) 分别为 + - * / %  //  ()       
    *   取绝对值               abs()     例如  abs(-1) = 1      
    *   n次方(可以使用分数)      pow(底数,指数)   例如 pow(2,2) = 4
    
    ***********************对数***************************
    *   log       log(真数,底数)  例如 log(4,2) = 2
    *   ln        ln(真数)         例如 ln(2.72) = 1.0006
    ***********************阶乘***************************
    *   阶乘               fac()     例如 fac(5)  =  120
    ***********************常见进制转换*********************
    *   十进制转二进制     bin()       例如 bin(10)  = 1010
    *   十进制转八进制     oct()       例如 oct(10)  =  12
    *   十进制转十六进制    hex()      例如 hex(10)  =  A
    *   任意进制转十进制    int('',x)  例如 int('10100',2) = 20
    ***********************三角函数************************
    *   正弦            sin()       例如sin(pi/2) = 1.0
    *   余弦            cos()       例如cos(pi) = -1.0
    *   正切            tan()       例如tan(pi) = 1
    
    **********************反三角函数************************
    *   arcsin(-1到1)        arcsin()     例如arcsin(-1) = -1.5707...
    *   arccos(-1到1)        arccos()     例如arccos(-1) = 3.14159...
    *   arctan                arctan()     例如arctan(-1) = 0.78539...
    
    '''
    
    def log(a,n):
        return math.log(a,n)
    def ln(a):
        return math.log(a)
    
    def fac(a):
        return math.factorial(a)
    
    def arccos(a):
        return math.acos(a)
    
    def arcsin(a):
        return math.asin(a)
    
    def arctan(a):
        return math.atan(a)
    
    def sin(a):
        return round(math.sin(a),2)
    
    def cos(a):
        return round(math.cos(a),2)
    
    def tan(a):
        return round(math.tan(a),2)
    
    import math
    pi = math.pi
    e = math.e
    print("***********************计算器***************************")
    print("****     使用之前请确定您已知悉输入格式                  ****")
    print("*******************************************************
    ")
    print("输入1进入计算器,输入2调出输入格式,输入0退出程序:")
    a=input()
    while True:
        if(a=='0'):
            exit(0)
        elif(a=='2'):
            instruction = '输入格式'
            print("{:*^50}
    {}{}".format(instruction,输入格式,'*'*50))
            break;
        elif(a=='1'):
            break;
        else:
            print("输入错误,请重新输入")
    print("注:{}".format(注释))
    flag=1;
    while flag:
        print("请输入算式:(按回车键退出程序)")
        string = input()
        if  string  == '':
            flag=0
        else:
            try:
                result = eval(string)
                print("
    计算结果为{}
    ".format(result))
            except:
                print("格式错误!重新输入:")
    

    运行结果

    上传结果

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

    • 问题1:在实验过程中发现无法计算长式子,只能单独对两个数进行运算,太过局限
    • 问题1解决方案:通往网页搜索发现了大部分都说eval()内置函数与math库合用有意想不到的结果,然后就从菜鸟教程中学习了eval()的使用方法!!!是真的好用!!!!配链接菜鸟教程eval()
    • 问题2:对于python的内置函数不够了解,不知道都有哪些数学函数,差一点和c语言一样手写去了。。。
    • 问题2解决方案:不懂就问,baidu是个好东西,通过百度发现python是真的牛X,进制转换基本上只需要几个字母就能代替,真的是太太太太太太强了!(int('1010',2)=10)
    • 问题3:在调用三角函数时,所得到的结果与预期有一点点差距,并没有想象的那么完美如math.sin(math.pi/6)=0.4999....
    • 问题2解决方案:发现round()函数可以将数字进行四舍五入,于是根据实际需求我才用了保留2位小数的形式,结果和预期差不多。

    其他(感悟、思考等)

      只有一个感悟!python太厉害了,内置函数强大到无敌,有了python,在不考虑运行时间的情况下谁还会去用c语言。。。以后有时间一定多了解以下python的内置函数,可以节省太多时间了。

    参考资料

  • 相关阅读:
    VS Code 编译运行C/C++
    滴水逆向-文件读写&内存分配-PE准备阶段
    技术从业者的未来(三)
    房价预测-California House Prices
    记录一下Linux的文件夹的rwx权限使用。
    对微任务和宏任务的执行顺序的个人理解
    算法1.4 节 ----- 算法分析
    .NetCore中间件实现原理
    谷歌浏览器禁用JS步骤
    管理经验分享
  • 原文地址:https://www.cnblogs.com/lhpshuaibi/p/14706933.html
Copyright © 2020-2023  润新知