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

Python代码出现NameError报错,函数内变量未定义问题求助

问题解决:Python变量未定义报错

代码中的错误点:

  • 变量名拼写不一致:函数内定义的是randomrd_drawn_int,但判断条件里用的是card_drawn_int,导致判断时变量未定义。
  • 判断逻辑错误:用==和列表比较数值是错误的,应该用in关键字判断数值是否在目标列表中。
  • 直接访问函数局部变量:card_drawn是draw_card()内部的局部变量,外部无法直接调用,必须先执行函数并获取返回值。
  • 缺少random模块导入:使用random.randint()前需要先导入模块。
  • 无默认分支:若出现意外数值(虽然当前randint(1,20)不会触发,但代码规范上需补充),会导致card_drawn未定义。

修正后的代码:

import random

def draw_card():
    card_drawn_int = random.randint(1,20)

    if card_drawn_int in [1,2,3,4,5,6,7,8,9,10,11,12]:
        card_drawn = ['Mechanized Infantry']
    elif card_drawn_int in [13,14,15,16,17]:
        card_drawn = ['STRV 122']
    elif card_drawn_int in [18,19,20]:
        card_drawn = ['JAS 37']
    else:
        card_drawn = ['Unknown Card']  # 默认分支,防止意外情况

    return card_drawn

# 调用函数并接收返回值后打印
result = draw_card()
print(result)

内容的提问来源于stack exchange,提问作者James Conrad Cole

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 14:01:12