20213413 实验二《Python程序设计》实验报告
2022/4/6 17:19:11
本文主要是介绍20213413 实验二《Python程序设计》实验报告,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
# 20213413 2021-2022-2 《Python程序设计》实验二报告
课程:《Python程序设计》
班级: 2134
姓名: 王佳慧
学号:20213413
实验教师:王志强
实验日期:2022年4月6日
必修/选修: 公选课
## 1.实验内容
1.1实验代码
print("励志做一个朴实无华有内涵的小计算器( ̄︶ ̄)↗ ") import math flag=True while flag ==True: choice = input("请选择计算机类型:1为复数计算器,2为普通计算器") if choice == "1": #复数计算器 a = complex(input("请输入第一个复数:\n")) b = complex(input("请输入第二个复数:\n")) op = input("请输入需要做的操作(+、-、*、/, 输入0表示退出):\n") if op == "0": break elif op == "+": result = a+b elif op == "-": result = a-b elif op == "*": result = a*b elif op == "/": result = a/b else: print("输入有误,请重新输入。\n") continue print(a, op, b, "=", result) #————————————————————————————————————————普通计算器—————————————————————————————————————— elif choice =="2": #普通计算器 a = int(input("请输入操作数1\n")) op = input("请输入需要做的操作(+,-,*,/,^,!,%,,sin,cos,tan,\n输入2表示十进制转二进制,\n输入8表示十进制转八进制,\n输入16表示十进制转十六进制,\n输入0表示退出):\n") if op == "0": break elif op == "sin": print("a的正弦值为 %.4f" % math.sin(a)) elif op == "cos": print("a的余弦值为 %.4f" % math.cos(a)) elif op == "tan": print("a的正切值为 %.4f" % math.tan(a)) elif op == "!": if a < 0: print("错误,负数没有阶乘") break else: result = math.factorial(a) print("a的阶乘为 {}".format(result)) elif op == "z": result = 3.1415926 * (a * a) print("以a为半径的圆面积为 %.2f" % result) #——————————————————————————————进制转换—————————————————————————————————————————————————— elif op == "2": print("a从十进制转二进制为:", bin(a)) elif op == "8": print("a从十进制转八进制为:", oct(a)) elif op == "16": print("a从十进制转十六进制为:", hex(a)) elif op == "+" or "-" or "*" or "/" or "%" or "^^": b = int(input("请输入操作数2:\n")) if op == "+": result = a + b print(a, op, b, "=", result) elif op == "-": result = a - b print(a, op, b, "=", result) elif op == "*": result = a * b print(a, op, b, "=", result) elif op == "/": result = a / b print(a, op, b, "=", result) elif op == "%": result = a % b print(a, op, b, "=", result) elif op == "**": result = a ** b print(a, op, b, "=", result) else: print("错误,请重新输入\n") continue result = 0
1.2代码运行测试
1.2.1 复数运算
1.2.2求一个数的三角函数
1.2.3 将十进制转为二进制、八进制、十六进制
二进制——bin
八进制——otc
十六进制——hex
1.2.4阶乘
1.2.5已知半径求相应圆的面积
1.2.6简单的整数运算
1.2.7求余
1.2.8 乘方
1.3 代码托管到 gitee
## 2. 实验过程及结果
本次实验是基于在老师课堂上跟着做的简易计算器改进的。
2.1 确定计算器可以实现的基础功能:
2.1.1 复数的加减乘除
2.1.2 实数的加减乘除、阶乘、乘方、求余、三角函数,进制转换,求圆的面积
2.1.3 确定代码顺序,查阅资料,询问同学后,确定先写较为简单的复数运算,再写整数的,整数中先赋一个变量,当选择两数之间的运算的时候再赋第二个变量。
2.1.4 写代码过程中,有关于上课没有讲到的进制转换、求面积等通过百度搜索、询问同学等方式解决。
## 3. 实验过程中遇到的问题和解决过程
- 问题1:运用复数计算器时一直报错
- 问题1解决方案:询问同学得知在运用complex时复数表示为"1+2j",而不是"1+2i"。改变输入方式即可正常运行。
- 问题2:出现不知道什么意思的错误提醒
- 问题2解决方案:百度搜索后发现字符串两边不能有空格。
- 问题3:经常出现“意外缩进”
- 问题3解决方案:在编写if/while/for 语句时要注意开头时不能随便空格。
##4 感悟、思考:
4.1在写代码完成一项任务之前,一定要计划好需要做的任务,最好列下清单,如果边做边想,不仅进度慢,还很容易忽略掉各种语句之间的结构,最终还要从头再来。
4.2要学会举一反三,在写转换进制的代码时,是看到转化为二进制使用到了Python中自己的函数来计算,即 bin()函数,所以继续搜索到,oct()函数可以将十进制数转换成八进制数,hex()函数可以将十进制数转换成十六进制数。
4.3要多询问,多看代码以及理解每个语法的含义,然后在运用到自己的代码中,才算学会。
## 参考资料
- [《Java程序设计与数据结构教程(第二版)》](https://book.douban.com/subject/26851579/)
- [《Java程序设计与数据结构教程(第二版)》学习指导](http://www.cnblogs.com/rocedu/p/5182332.html)
- ...
这篇关于20213413 实验二《Python程序设计》实验报告的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门