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

如何为if-else条件添加循环?未选K/L时如何循环输入单位?

解决条件循环与输入校验问题

方案1:支持重复转换的完整实现

这个方案既实现了单位输入的循环校验,也让整个体重转换流程可以重复执行:

while True:
    weight = int(input("Weight: "))
    # 循环获取有效单位输入,直到用户输入K或L
    while True:
        unit = input("(K)g or (L)bs: ").upper()
        if unit in ("K", "L"):
            break
        print("Invalid input! Please enter K or L.")
    
    # 执行体重转换逻辑
    if unit == "K":
        print(f"Weight in Kg: {weight}")
    elif unit == "L":
        print(f"Weight in Lbs: {weight * 2.20462262185}")
    
    # 让用户选择是否继续转换
    continue_choice = input("Do you want to convert another weight? (Y/N): ").upper()
    if continue_choice != "Y":
        break

方案2:仅校验单位输入(单次转换)

如果只需要在用户输入无效单位时循环提示,不需要重复转换,用这个版本:

weight = int(input("Weight: "))
# 循环校验单位输入
while True:
    unit = input("(K)g or (L)bs: ").upper()
    if unit in ("K", "L"):
        break
    print("Invalid input! Please enter K or L.")

# 执行转换输出
if unit == "K":
    print(f"Weight in Kg: {weight}")
elif unit == "L":
    print(f"Weight in Lbs: {weight * 2.20462262185}")

关键说明

  • 内层while True循环专门处理单位输入的有效性校验:每次将输入转为大写后判断是否属于("K", "L"),无效则提示错误并重新获取输入,解决「未选K/L时循环输入」的需求。
  • 外层while True循环实现整个转换流程的重复执行,满足「为if-else条件添加循环逻辑」的需求,用户可以多次进行体重转换操作。
  • 使用f-string替代字符串拼接,让输出代码更简洁易读。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 07:20:37