20212309 实验二《Python程序设计》实验报告
2022/4/6 22:49:32
本文主要是介绍20212309 实验二《Python程序设计》实验报告,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
# 20212309 2021-2022-2 《Python程序设计》实验二报告
课程:《Python程序设计》
班级: 2123
姓名: 沈烨
学号:20212309
实验教师:王志强
实验日期:2022年3月31日
必修/选修: 公选课
## 1.实验内容
设计一个计算器,设计要求满足以下功能:实现浮点数加减乘除运算;
使用上一次运算结果进行下一步运算;
无法识别输入内容时不报错。
## 2. 实验过程及结果
第一版:实现了浮点数加减乘除运算,输入0结束运算。
问题:不能使用上一次运算结果进行下一步运算,输入不符合要求会报错。
第二版:实现了使用上一次运算结果进行下一步运算。
问题:输入不符合要求依然会报错。
第三版:实现全部要求功能。
第四版:加入注释。
问题:加入注释后无法实现使用上一次运算结果进行下一步运算。
第五版:在使用上一次运算结果进行下一步运算的模块前加入numin1.remove(''),解决问题。
## 3. 实验过程中遇到的问题和解决过程
- 问题1:如何识别形如“2+15”字符串中的运算符“+”?
- 问题1解决方案:使用老师上课刚讲的list.split()方法,使用两次,将list.split()与list.split(“+”)的结果比对,若不相同则输入字符串中含有“+”
- 问题2:如何区分“12+2”与“+2”,以使用上一次运算结果进行运算?
- 问题2解决方案:使用try-except语句和num1=float(numin1[1])语句中若不含有第1个元素则报错的特性,区分二者。
- 问题3:如何实现输入不符合要求时不报错?
- 问题3解决方案:再次使用try-except语句,若输入不符合要求则list.split()与list.split(“+”)、list.split(“-”)、list.split(“*”)、list.split(“/”)的结果相同,此时人为引入错误x=0/0进入except语句,弹出重新输入提示避免报错。同时将list.split(“+”)改为list.split(“+”,1),以避免将形如“1+1+1”的字符串认为是符合要求的字符串。
## 其他(感悟、思考等)
在思考如何辨认运算符时苦恼了很久,老师讲的list.split方法很好地启发了我。这个方法虽然不够简便直接,但是很多时候只要能实现功能,曲线救国也未尝不可。
同时,我在程序中运用了多次try-except语句。有某个熟练的语句时,不妨多用用。再者,在第三版中其实已经实现了全部预想功能,但加入注释后出现问题,调试后发现对“+1”字符串使用list.split('+')的结果是["',"1"],不明白原因,但是总算还是解决了问题。
## 参考资料
- [《Java程序设计与数据结构教程(第二版)》](https://book.douban.com/subject/26851579/)
- [《Java程序设计与数据结构教程(第二版)》学习指导](http://www.cnblogs.com/rocedu/p/5182332.ht
这篇关于20212309 实验二《Python程序设计》实验报告的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-24Python编程基础详解
- 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编程入门教程