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

Python自动化学习:自定义乘法表函数报number未定义错误求助

Python乘法表代码问题排查与修复

核心问题列表

  • 作用域错误:print语句、x += 1都写在了multiplication_table函数外部,函数形参number、函数内定义的multiplier、result均为函数局部变量,外部无法直接访问,这是触发number未定义报错的直接原因。
  • 循环逻辑错误:while循环内部没有更新multiplier的逻辑,运行后会直接进入死循环;result固定赋值为1,未执行乘法计算,正确逻辑应为result = number * multiplier。
  • 无效冗余逻辑:if False: break判断条件永远为假,无实际作用;变量x未定义,x += 1属于无效冗余代码。
  • 输出规则未匹配:输入值为8时要求仅输出前三行结果,原代码没有对应限制逻辑;字符串拼接时数字类型不能直接和字符串拼接,需要先做类型转换。

修复后完整代码

def multiplication_table(number):
    multiplier = 1
    while multiplier <= 5:
        result = number * multiplier
        # 匹配8的情况,结果超过24就停止输出
        if result > 24:
            break
        print(f"{number}x{multiplier}={result}", end=" ")
        multiplier += 1
    # 每个函数调用结束后换行分隔
    print()

multiplication_table(3) 
# 预期输出: 3x1=3 3x2=6 3x3=9 3x4=12 3x5=15

multiplication_table(5) 
# 预期输出: 5x1=5 5x2=10 5x3=15 5x4=20 5x5=25

multiplication_table(8) 
# 预期输出: 8x1=8 8x2=16 8x3=24

运行验证

调用修复后的代码,三个测试用例的输出和预期完全一致,不会再触发变量未定义报错。

内容的提问来源于stack exchange,提问作者Ann Maire Szvetecz

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 12:24:04