Python代码功能完善请求:实现输入大于3时重新输入逻辑
解决输入数值大于3时的重新输入问题
以下是修改后的完整代码,实现了当输入数值大于3(或非1/2/3的其他值)时,提示用户重新输入的功能:
num = 0 def calculate1(player1, num): if player1 == 1: num += player1 print(f"The number is {num}") elif player1 == 2: num += player1 print(f"The number is {num}") elif player1 == 3: num += player1 print(f"The number is {num}") else: print("输入的数值无效") return num # 确认是否开始游戏 yrn = input("Are you going to play game? (Y/N) : ").upper() if yrn == "Y": player1 = 0 # 循环获取输入,直到输入合法 while player1 not in (1, 2, 3): try: player1 = int(input("How many numbers are you going to add? : ")) if player1 not in (1, 2, 3): print("请输入1、2或3之间的数值,重新输入") except ValueError: print("请输入有效的整数,重新输入") num = calculate1(player1, num)
关键修改点说明:
- 新增输入验证循环:在获取
player1输入时加入while循环,只有当输入是1、2、3中的一个时才退出循环,否则持续提示重新输入 - 处理非整数输入:加入
try-except捕获ValueError,避免用户输入非整数导致程序崩溃 - 完善函数的else分支:即使出现非法输入进入函数,也会给出提示并返回原数值,保证逻辑完整性
- 简化数值累加写法:把
num = num + player1改成更简洁的num += player1,不影响功能但代码更整洁
内容的提问来源于stack exchange,提问作者user20634715
相关产品推荐
相关产品推荐

