学号 20244202 《Python程序设计》实验二报告
课程:《Python程序设计》
班级: 2442
姓名: 董凯瑞
学号:20244202
实验教师:王志强
实验日期:2025年4月1日
必修/选修: 公选课
1.实验内容
(1)设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善。
(2)考核基本语法、判定语句、循环语句、逻辑运算等知识点
2. 实验过程及结果
仿照课堂教学的程序进行编程
(1)编写计算函数
包含加减乘除运算,取模运算,幂运算,整除运算,log运算
点击查看代码
def cal(a,b):if symbol == "+":return a + bif symbol == "-":return a - bif symbol == "*":return a * bif symbol == "/":return a / bif symbol == "%":return a % bif symbol == "//":return a // bif symbol == "**":return a ** bif symbol == "logab":return math.log(a,b)
(2)编写主程序
包含实数运算与复数运算的区分,利用while()支持多次运算
点击查看代码
t = True
while t:if input("请问您要进行复数计算还是实数计算呢\n") == "复数":num_first = complex(input("请输入第一个数"))num_second = complex(input("请输入第二个数"))else:num_first = int(input("请输入第一个数"))num_second = int(input("请输入第二个数"))symbol = input("请输入操作:+ - * / % // ** logab\n")if symbol == "logab":print(f"log{num_first} {num_second}",cal(num_second,num_first))else:print(f"{num_first} {symbol} {num_second} =", cal(num_first, num_second))conti = input("是否需要继续计算? Y or N")if conti == "N" or conti == "n":break
(3)程序美化
输出个人信息以及座右铭
点击查看代码
print('''
*************************
** 计算器V1.0 **
** 学号:20244202 **
** 姓名:董凯瑞 **
** 座右铭:无线进步 **
*************************
''')
完成程序的编写
import mathdef cal(a,b):if symbol == "+":return a + bif symbol == "-":return a - bif symbol == "*":return a * bif symbol == "/":return a / bif symbol == "%":return a % bif symbol == "//":return a // bif symbol == "**":return a ** bif symbol == "logab":return math.log(a,b)print('''
*************************
** 计算器V1.0 **
** 学号:20244202 **
** 姓名:董凯瑞 **
** 座右铭:无线进步 **
*************************
''')t = True
while t:if input("请问您要进行复数计算还是实数计算呢\n") == "复数":num_first = complex(input("请输入第一个数"))num_second = complex(input("请输入第二个数"))else:num_first = int(input("请输入第一个数"))num_second = int(input("请输入第二个数"))symbol = input("请输入操作:+ - * / % // ** logab\n")if symbol == "logab":print(f"log{num_first} {num_second}",cal(num_second,num_first))else:print(f"{num_first} {symbol} {num_second} =", cal(num_first, num_second))conti = input("是否需要继续计算? Y or N")if conti == "N" or conti == "n":break
3. 实验过程中遇到的问题和解决过程
无问题
其他(感悟、思考等)
通过对课堂程序的仿写,我尝试了函数编写,学习了输出的新形式,并巩固了先前所学。我意识到Python程序的编写并不容易,需要认真加下课堂教授的函数,并在课下复习巩固。日后,我要以更认真的态度参与Python课堂,深入学习Python相关知识,让以后的实验更加得心应手。