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

如何修复Python代码中出现的“code unreachable”报错问题

code unreachable报错修复方法

代码存在3处核心写法问题,直接触发报错和逻辑失效:

  • 条件判断写法错误:if 'Q1 = yes'是直接判断字符串常量'Q1 = yes'的布尔值,Python中非空字符串永远判定为真,因此后续elif分支永远不会被执行,编辑器会直接标记elif下的代码为不可达代码,也就是你看到的报错。正确判断逻辑应该是读取用户输入存入的Q1变量,对比变量值是否等于目标字符串。
  • 缩进不符合Python语法要求:同属if代码块的三行代码缩进量不一致,第一行Q2 = input(...)仅缩进1个空格,后两行缩进4个空格,运行时会直接触发缩进错误。
  • 变量未定义:print(bye)中的bye既不是提前定义的变量,也没有加引号标记为字符串,运行到这行时会触发名称错误;结合你代码里输入no就退出的设计,直接给bye加字符串引号即可。

修复后完整可运行代码

import random

Q1 = input('''would you like to put your own words instead 
of heads or tails if so say yes if not say no, 
if you said no i will exit the code?''').strip()

if Q1 == 'yes':
    Q2 = input('''what word(s) or numbers(s) would 
    you like to use in your random 
    word or number picker?(also no 
    spaces in between numbers.)''')
    y = random.choice(list(Q2))
    print(y)

elif Q1 == 'no':
    print("bye")

可选优化:当前代码中list(Q2)会把用户输入的内容拆分为单个字符随机抽取,如果需要从用户输入的多个完整词组/数字中随机选择,可以要求用户输入时用逗号分隔不同选项,把随机选择行替换为y = random.choice(Q2.split(','))即可。

内容的提问来源于stack exchange,提问作者Aaryan v.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 15:21:20