如何让Python面积计算器支持多次计算形状面积?
实现可重复计算的Python面积计算器
要让你的面积计算器支持多次计算,核心是用外层循环包裹整个计算逻辑,每次计算结束后询问用户是否继续。以下是修改后的完整代码,以及关键逻辑的说明:
修改后的完整代码
print("=============================") print("Area Calculator - 支持重复计算") print("=============================") pie = 3.14 while True: # 显示形状选项 print("\n1) Triangle\n2) Rectangle\n3) Square\n4) Circle\n5) Quit") shape = int(input("请输入你要计算面积的形状编号: ")) # 输入验证:处理无效编号和退出选项 while shape < 1 or shape > 5: print("输入无效,请输入1-5之间的数字") shape = int(input("请重新输入形状编号: ")) # 处理退出请求 if shape == 5: print("感谢使用,再见!") break # 根据选择计算面积 area = 0 if shape == 1: base = int(input("输入底边长: ")) height = int(input("输入高: ")) area = base * height / 2 elif shape == 2: length = int(input("输入长度: ")) width = int(input("输入宽度: ")) area = length * width elif shape == 3: side = int(input("输入边长: ")) area = side ** 2 elif shape == 4: radius = int(input("输入半径: ")) area = pie * radius ** 2 print(f"该形状的面积为: {area}") # 询问是否继续计算 continue_choice = input("是否继续计算其他形状?(y/n): ").strip().lower() if continue_choice != 'y': print("感谢使用,再见!") break
关键修改点说明
- 外层
while True循环:这是一个无限循环,会重复执行里面的计算流程,直到遇到break语句退出。 - 整合退出选项:把原来的"5) Quit"选项真正用上,用户输入5时直接退出循环。
- 输入验证优化:调整验证逻辑,允许输入5(退出选项),只拦截1-5之外的无效值。
- 计算后询问继续:每次计算完成后,通过
input获取用户选择,只要输入不是'y'(不区分大小写)就退出循环。 - 变量简化:去掉了不必要的提前变量初始化,每次循环内按需定义变量,代码更简洁。
内容的提问来源于stack exchange,提问作者Alli Mae
相关产品推荐
相关产品推荐

