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

如何根据用户输入执行不同print函数?Python新手技术求助

问题分析与解决

你的代码存在几个关键问题:

  • 二次输入未保存到变量,无法获取用户的选择内容
  • 判断逻辑错误:if yes: 实际是判断字符串"welcome"是否为真,非空字符串永远为True,所以不管用户输入什么都会输出welcome
  • 输入提示里的{ans}未正确格式化,无法显示预期的选项

修正后的代码:

age = input("enter your age: ")
yes_msg = "welcome"
no_msg = "too bad then"

if age == "18":
    print(yes_msg)
else:
    # 保存用户的二次选择,同时明确提示输入选项
    user_choice = input("you're not old enough, would you like to enter anyways? (yes/no): ")
    # 转为小写兼容不同输入格式,比如Yes、YES都能识别
    if user_choice.lower() == "yes":
        print(yes_msg)
    elif user_choice.lower() == "no":
        print(no_msg)
    else:
        print("invalid input, please enter yes or no")

关键修改说明:

  • 给提示信息变量重命名(yes_msg/no_msg),避免和用户输入的"yes"字符串混淆
  • 将二次输入赋值给user_choice变量,这样才能基于用户的实际输入做判断
  • 使用lower()方法统一输入格式,提升程序的容错性
  • 增加无效输入的处理,引导用户输入正确内容
  • 移除了无用的ans列表,直接在输入提示里明确给出可选值,更直观

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 07:07:14