You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 08:31:02