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

Python编写的乘法练习程序运行12轮后随机报错如何解决?

问题原因

  • random.random()调用逻辑错误:该方法为无参方法,作用是返回0~1之间的随机浮点数,不支持传入函数作为参数。你当前的写法会按顺序执行所有12个问题函数,执行完12次后无更多可执行内容就会报错,也完全无法实现随机出题的效果。
  • 重复定义12个功能高度相似的函数属于冗余代码,后续修改练习规则、拓展乘法表范围的成本极高。

修复方案

方案1(推荐,代码更简洁,适合初学者理解)

不需要单独定义12个问题函数,直接通过随机数动态生成题目,还可拓展到任意乘法表练习:

import random

# 可修改该参数练习其他数字的乘法表
base_num = 12

while True:
    # 随机生成1~12的乘数
    multiplier = random.randint(1, 12)
    # 接收用户输入
    user_ans = input(f"{base_num} times {multiplier} ")
    # 判断答案是否正确
    if user_ans == str(base_num * multiplier):
        print("correct")
    else:
        print(f"wrong, correct answer is {base_num * multiplier}")

按Ctrl+C组合键可随时终止程序。

方案2(保留你原有的12个函数定义,仅修改循环部分)

把你代码末尾的循环段替换为以下内容即可正常运行:

# 先把所有问题函数存入列表
question_list = [qone, qtwo, qthree, qfour, qfive, qsix, qseven, qeight, qnine, qten, qeleven, qtwelve]
# 无限随机出题
while True:
    random.choice(question_list)()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 08:57:03