20242313 2024-2025-2 《Python程序设计》实验二报告
20242313 2024-2025-2 《Python程序设计》实验二报告
课程:《Python程序设计》
班级:2423
姓名:曾海鹏
实验教师:王志强
实验日期:2025年3月26日
必修/选修:公选课
一、实验内容
- 设计并完成一个计算器的应用程序,包含基础的整数的加减乘除模运算。
- 练习基本语法、判定语句、循环语句、逻辑运算等知识点。
- 学会将代码托管到码云。
二. 实验过程及结果
完成一个计算器的应用程序
-
首先根据实验要求设计简单的整数加减乘除运算。
用两个变量储存输入的数字,再用给出提示的字符表示运算符,根据不同运算符,分情况输出结果。 -
其次在此基础上,将其设置为子函数,再利用while循环,实现多次使用的效果。
-
添加更多运算符,如求余,幂等,实现更多功能。
代码为:
def osjisuanji(num1,num2,os):
num1=int(num1)
num2=int(num2)
if os =='+':
return num1 + num2
elif os =='-':
return num1 - num2
elif os == '*':
return num1 * num2elif os == '/':
if num2==0:
print("宝宝,你真笨,除数不为零我二年级就知道了")
return 0
return num1 / num2elif os == '%':
return num1 % num2
elif os == '**':
return num1 ** num2
else:
return "小傻瓜,符号都不会输入吗"
while True:
num1 = input("请输入第一个数num1=")
os = input("请输入运算符+,-,*,/,%,**\n")
num2 = input("请输入第一个数num2=")
result = osjisuanji(num1, num2, os)
print(f"黑子说话: {result}")
continue1=input("小菜鸡继续吗y or n\n")
if continue1!='y':
break
运行和调试如下图所示:

练习基本语法、判定语句、循环语句、逻辑运算等知识点
主要练习了:
1.输入的成绩输出对应的等级。
2.使用循环语句,对 1 到 100 之间的所有偶数进行求和。
3.结合了循环语句和字符串格式化,打印出九九乘法表。
4. 判断一个数是否为质数。
5. 逻辑运算符(and、or、not)的使用。

3. 实验过程中遇到的问题和解决过程
- 问题1: 当用户在输入数字时输入了非数字字符,例如字母、符号等,程序会在执行
int(num1)或int(num2)时抛出ValueError异常,导致程序崩溃。 - 问题1解决方案:可以使用
try-except语句来捕获ValueError异常,并提示用户重新输入有效的数字。
在子函数中添加
try和 except ValueError:
return "输入的不是有效的数字,请重新输入。"
语句,提高程序的健壮性和用户体验。 - 问题2:如何使用循环语句来简化计算器代码?
- 问题2解决方案:根据豆包解释:
- 把运算符和对应的计算逻辑存储在一个字典里,这样就能借助字典查找来简化
if-elif语句。 - 运用循环来持续接收用户输入,直到用户决定退出。
- 采用异常处理机制捕获用户输入非数字的情况。
可以通过以下代码简化:
定义运算符及其对应的计算函数
operators = {
'+': lambda x, y: x + y,
'-': lambda x, y: x - y,
'*': lambda x, y: x * y,
'/': lambda x, y: x / y if y != 0 else (print("宝宝,你真笨,除数不为零我二年级就知道了"), 0)[1],
'%': lambda x, y: x % y,
'**': lambda x, y: x ** y
}
while True:
try:
# 获取第一个数字
num1 = float(input("请输入第一个数: "))
# 获取运算符
operator = input("请输入运算符 (+, -, *, /, %, **): ")
# 获取第二个数字
num2 = float(input("请输入第二个数: "))
# 检查运算符是否有效
if operator in operators:
result = operators[operator](num1, num2)
print(f"计算结果: {result}")
else:
print("小傻瓜,符号都不会输入吗")
except ValueError:
print("输入的不是有效的数字,请重新输入。")
# 询问用户是否继续
continue_choice = input("是否继续计算?(y/n): ")
if continue_choice.lower() != 'y':
print("程序已退出,再见!")
break
参考资料
- 《强哥带我学python》
- 《豆包教我写报告》

浙公网安备 33010602011771号