20232208曾键哲 2023-2024-2 《Python程序设计》实验二报告

20232208曾键哲 2024-03-30 20:52:14

 # 20232208曾键哲 2023-2024-2 《Python程序设计》实验二报告

课程:《Python程序设计》
班级: 202322
姓名: 曾键哲
学号:20232208
实验教师:王志强
实验日期:2024年3月27日
必修/选修: 公选课

1.实验内容

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

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

 2. 实验过程及结果

定义所需要的函数,加法,减法,乘法,除法,平方,开放,正弦,余弦,正切,对数

 

编写主函数,给予用户提示信息,告诉他们程序开始正常运行了,并且想进行什么运算应该如何输入

 

若要有额外的输入则再进行提示

 

想要继续进行下一次计算时可以选择继续

 

以下为完整代码

import math

#加法
def add(a,b):
    return (a+b)
#减法
def sub(a,b):
    return (a-b)
#乘法
def mul(a,b):
    return (a*b)
#除法
def div(a,b):
    if b == 0:
        print("ERROR")
        return 0
    return (a/b)
#平方
def square(a):
    return a ** 2
#开方
def sqrt(a):
    return math.sqrt(a)
#正弦
def sin(a):
    return math.sin(a)
#余弦
def cos(a):
    return math.cos(a)
#正切
def tan(a):
    return math.tan(a)
#对数
def log(a,b):
    if b == 0:
        print("ERROR")
        return 0
    return math.log(b,a)


print("欢迎使用由20232208曾键哲制作的计算器")
print("_______________________________")
flag = True;
while flag:
    a = eval(input("please input"))
    fun = input("+,-,*,/,sin.cos,tan,log,x^2,x^1/2")
    if fun == "+":
        b = eval(input("please input"))
        print("a+b=",add(a,b))
    elif fun == "-":
        b = eval(input("please input"))
        print("a-b=",sub(a,b))
    elif fun == "mul":
        b = eval(input("please input"))
        print("a*b=",mul(a,b))
    elif fun == "/":
        b = eval(input("please input"))
        print("a/b=",div(a,b))
    elif fun == "sin":
        print("sin(a)=",sin(a))
    elif fun == "cos":
        print("cos(a)=",cos(a))
    elif fun == "tan":
        print("tan(a)=",tan(a))
    elif fun == "log":
        b = eval(input("please input"))
        print("log(a,b)=",log(a,b))
    elif fun == "x^2":
        print("a^2=",square(a))
    elif fun == "x^1/2":
        print("a^1/2=",sqrt(a))
    else:
        print("ERROR,please input the rigth function!")
        break
    choice = input("once again? Y/N")
    if choice == "Y":
        continue
    else:
        flag =  False

以下为测试结果

 

 

 

上传至gitee

仓库网址

 

3. 实验过程中遇到的问题和解决过程
- 问题1:输入对数的底数或除数为0时程序错误
- 问题1解决方案:在编写函数式加以辅助语句,若是输入不合法,则提示出错并结束进程
- 问题2:无法正确上传代码至gitee
- 问题2解决方案:重新登录并对gitee进行更新
- ...


其他(感悟、思考等)

可以设计的函数优先,并且依赖系统函数程度较大,在提升水平后要更加自主。

在测试前缺少对测试时可能出现错误结果的预期,程序健壮性不够强

对gitee的使用还不是很熟悉

## 参考资料

-  [《Java程序设计与数据结构教程(第二版)》](https://book.douban.com/subject/26851579/)

-  [《Java程序设计与数据结构教程(第二版)》学习指导](http://www.cnblogs.com/rocedu/p/5182332.html)
-  ...

...全文
109 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

110

社区成员

发帖
与我相关
我的任务
社区描述
人生苦短,我用Python!
python3.11 高校
社区管理员
  • blackwall0321
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧