如何在Python简易计算器中实现运算完成后重启新计算的功能
Python计算器循环重启实现方案
需求说明
我用Python编写了一个简易计算器,它的运行逻辑为:先询问用户要执行的运算类型(如加法),再依次要求输入第一个数和第二个数,最终输出运算结果。
假设我选择加法,
第一个数: 1
第二个数: 1
结果: 2
我希望运算结果输出后,计算器提示:输入{x}以开始新的计算
用户输入指定字符(x可自定义为任意字符)后,计算器即可重启整个流程,执行新的运算。
修改后可实现循环重启的完整代码
# 自定义重启触发字符,可修改为任意你想要的字符 RESTART_CHAR = 'x' while True: print("请选择你要执行的运算类型:") print("输入 + 执行加法") print("输入 - 执行减法") print("输入 * 执行乘法") print("输入 / 执行除法") op = input('请输入你的选择:') if op == '+' : num1 = float(input("请输入第一个数字:")) num2 = float(input("请输入第二个数字:")) add = num1 + num2 print("{0} + {1} = {2}".format(num1, num2, add)) elif op == '-' : num1 = float(input("请输入第一个数字:")) num2 = float(input("请输入第二个数字:")) sub = num1 - num2 print("{0} - {1} = {2}".format(num1, num2, sub)) elif op == '*' : num1 = float(input("请输入第一个数字:")) num2 = float(input("请输入第二个数字:")) multi = num1 * num2 print("{0} * {1} = {2}".format(num1, num2, multi)) elif op == '/' : num1 = float(input("请输入第一个数字:")) num2 = float(input("请输入第二个数字:")) # 可选优化:增加除零判断,避免程序崩溃 if num2 == 0: print("除数不能为0,运算失败") else: division = num1 / num2 print("{0} / {1} = {2}".format(num1, num2, division)) else : print("输入的运算类型有误,请检查后重试") # 重启判断逻辑 user_input = input(f"输入{RESTART_CHAR}以开始新的计算,输入其他内容退出程序:") if user_input.strip() != RESTART_CHAR: break
实现说明
- 顶部的
RESTART_CHAR变量可以自定义为任意你想要的触发字符,修改后提示文本和判断逻辑会同步生效 - 新增的
while True无限循环包裹了全部计算逻辑,每次循环对应一次完整的计算流程 - 每次计算完成后会等待用户输入,只有输入和
RESTART_CHAR完全匹配的内容才会开启下一轮计算,否则程序直接退出 - 额外增加了除零判断逻辑,避免输入除数为0时程序直接崩溃,不需要可直接删除
内容的提问来源于stack exchange,提问作者Allowit_Lol
相关产品推荐
相关产品推荐

