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

Python3代码异常:输入任意内容均跳转至Twitter,求问题排查

问题分析与解决

核心问题

  1. 未捕获用户输入
    你调用了input()但没有将输入内容保存到变量中,后续判断完全没用到用户的输入值。

  2. 判断逻辑错误
    代码里的if (T)是判断变量T的布尔值,而T是一个非空字符串,在Python中所有非空字符串都会被判定为True,所以第一个if分支永远会触发,直接打开Twitter,后面的elif根本不会执行。

修正后的代码

import webbrowser

# 用字典建立选项与网址的映射,更简洁易维护
site_map = {
    'T': "www.twitter.com",
    'R': "www.reddit.com",
    'Y': "www.youtube.com"
}

while True:
    print('Enter T for Twitter')
    print('Enter R for Reddit')
    print('Enter Y for Youtube')
    # 捕获用户输入,去除前后空格并转大写,兼容小写输入
    user_input = input().strip().upper()
    # 检查输入是否为有效选项
    if user_input in site_map:
        webbrowser.open_new(site_map[user_input])
        break
    else:
        print('Invalid selection, try again.')
        continue

关键修正点

  • 新增user_input变量存储用户输入,确保判断逻辑基于用户的选择。
  • 使用字典替代单独变量,让选项与网址的对应关系更清晰,也方便后续扩展。
  • 加入strip()和upper()处理输入,避免用户输入空格或小写字母导致的识别失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 13:05:26