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

Python编写韩语数字转换器如何实现1-10外输入的重试提示逻辑?

韩语数字转换器输入校验实现方案

你可以通过「无限循环+合法性校验」的逻辑实现异常输入重试的效果,同时可以额外兼容非整数输入的报错场景,修改后的完整代码如下:

# 先定义转换字典,无需重复创建
koreanConversion = {
    1: "Hana",
    2: "Tul",
    3: "Set",
    4: "Net",
    5: "Ta Sut",
    6: "Yuh Sut",
    7: "Il Jop",
    8: "Yu Dulb",
    9: "Ah Hop",
    10: "Yul"
}

print("Welcome to the Korean Converter!")

while True:
    # 先捕获输入转整数的异常,避免非数字输入导致程序崩溃
    try:
        user_input = int(input("Enter a number between 1 and 10: "))
    except ValueError:
        print("输入不合法,请输入整数!")
        continue
    # 判断数字是否在转换字典的键范围内
    if user_input in koreanConversion:
        print(koreanConversion[user_input])
        # 合法输入输出结果后跳出循环
        break
    else:
        print("请输入1-10之间的数字,请重试!")

关键逻辑说明:

  • 用while True开启无限循环,只有用户输入合法内容、执行到break语句时才会结束循环
  • 加入try-except捕获非整数输入的异常,避免用户输入字母、符号等内容时程序直接报错退出
  • 用in关键字直接判断输入的整数是否是转换字典的key,不需要额外写范围判断,后续如果要扩大转换数字范围,只需要修改字典内容即可,不需要改动校验逻辑

简化版实现(无需处理非整数输入场景)

如果你的使用场景可以保证用户只会输入整数,也可以用更简单的写法:

koreanConversion = {
    1: "Hana",
    2: "Tul",
    3: "Set",
    4: "Net",
    5: "Ta Sut",
    6: "Yuh Sut",
    7: "Il Jop",
    8: "Yu Dulb",
    9: "Ah Hop",
    10: "Yul"
}

print("Welcome to the Korean Converter!")
user = int(input("Enter a number between 1 and 10: "))
while user not in koreanConversion:
    user = int(input("请输入1-10之间的数字,请重试:"))
print(koreanConversion[user])

内容的提问来源于stack exchange,提问作者Ceceeeee

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 09:24:03