20244107 实验二《Python程序设计》实验报告
20244107 2024-2025-2 《Python程序设计》实验二报告
课程:《Python程序设计》
班级:2441
姓名: 唐近仁
学号:20244107
实验教师:王志强
实验日期:2025年4月1日
必修/选修: 专选课
1.实验内容
(1)设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善。
(2)考核基本语法、判定语句、循环语句、逻辑运算等知识点
2. 实验过程及结果
(一)函数知识及其他相关知识的学习
(1)通过上课听讲,学习了制作这个程序所必要的函数创建及调用知识。
(2)了解复习了加、减、乘、除、模、整除、幂、阶乘、对数等的表示知识。+ - * / % // **,后两个需要导入函数模块。
(3)了解到了在python中complex是用于表示复数的知识。这方便我丰富后续的程序,可以引入复数运算。
(4)第一次接触到f"{}",学习到了更加方便的转换成字符串并输出的方式。
(二)开始编写程序
(1)构思程序,首先定义函数,再运用循环语句涵盖多种运算,输出作者水印,然后再用循环语句引入复数运算,运用之前定义的函数进行运算,并输出结果,再利用flag这个变量来决定运算的终止与否。
(2)按照构思编写程序。
(3)反复调试运行,最终尝试运行得到结果如下。
3. 实验过程中遇到的问题和解决过程
- 问题1:在创建函数时使用了operator。
- 问题1解决方案:通过老师的讲解,知道了operator是python中的一个函数模块,为了避免混淆,改成了operator41。
- 问题2:程序开头就出现错误,无法运行。
- 问题2解决方案:使用了math模块的函数但没有导入这个模块,开头加入import math即可。
- 问题3:不知道阶乘该怎么表示。
- 问题3解决方案:通过询问老师同学知道了应该用math.factorial()来表示。
- 问题4:跳不出循环,明明回答了N还是继续运算。
![]()
- 问题4解决方案:检查发现conti=input("是否需要继续计算?Y or N") =="N" 这一句就后面多了 =="N" ,提早地把conti变成了True或False值。删掉即可。
其他(感悟、思考等)
这次实验让我对编程有了更深刻的认识。最初设计程序时,总以为只要实现功能就行,却忽略了变量类型匹配、模块导入这些细节。比如复数运算时,直接使用operator模块导致命名冲突,后来改成operator41才解决。这让我明白,代码规范和命名习惯真的很重要。
调试过程特别锻炼耐心。当循环怎么也停不下来时,我盯着屏幕反复检查,才发现是conti变量被错误赋值为布尔值。这种低级错误就像考试时漏看小数点,既懊恼又无奈。不过每解决一个问题,都让我对条件判断和循环逻辑有了更扎实的理解。
现在看到自己写的程序能正确输出复数运算结果,心里特别有成就感。虽然程序还存在输入验证不足等问题,但通过这次实验,我不仅掌握了函数、循环等语法,更学会了如何用代码解决实际问题。今后的日子里我会更加努力学习,争取编写更多有意思的程序!


浙公网安备 33010602011771号