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

Python随机数统计脚本改用input输入后运行异常求助

问题排查及修复方案

核心错误原因

  • 类型不匹配:input()函数返回值默认是字符串类型,你生成的随机数是整数类型,二者进行==相等判断时永远返回False,导致匹配次数统计结果始终为0。
  • 调用未定义变量:你注释了MyNumber = input("YourNumber")代码行,后续执行print("Deine Nummer ist:", MyNumber)时会抛出NameError异常,直接导致程序运行中断。
  • 冗余逻辑容易引发统计误差:通过globals()动态生成100个变量的写法会把全局空间内的其他无关内容(比如导入的random、time模块对象)纳入统计范围,进一步影响统计结果准确性。

修复后参考代码

import random

# 将用户输入转为整数类型,解决类型不匹配问题
target_num = int(input("Suche deine Zahl"))
# 直接用列表存储100个随机数,避免污染全局空间,统计更方便
random_nums = [random.randrange(1, 4) for _ in range(100)]

# 统计匹配次数、计算概率
match_count = random_nums.count(target_num)
probability = match_count / 100 * 100

# 结果输出
print({f"Number{i+1}": v for i, v in enumerate(random_nums)})
print(match_count)
print("-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------")
print("Deine Nummer ist:", target_num)
print("Deine Nummer gab es:", match_count , "Mal")
print("Die Wahrscheinlichkeit liegt bei:", probability , "Prozent")

如果需要兼容用户输入非数字的异常场景,可以在int(input(...))外层加try-except捕获ValueError异常即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 04:36:04