Python循环累加随机数至和≥20及循环次数统计求助
问题分析与修正
你的现有代码逻辑和需求完全不符,核心问题点如下:
- 初始
sum设为20,违背了“从0开始累加随机数”的初衷 while n >= 0的循环逻辑是在递减初始生成的单个随机数,而非每次生成新的随机数进行累加- 完全缺少统计循环次数的变量
修正后的代码
import random sum_total = 0 # 用sum_total代替sum,避免和Python内置函数sum重名 count = 0 # 专门统计循环次数的变量 while sum_total < 20: n = random.randint(0, 9) # 每次循环生成全新的0-9随机数 sum_total += n count += 1 # 可选:取消注释可以查看每次循环的细节,方便调试 # print(f"第{count}次循环,随机数:{n},当前总和:{sum_total}") print(f"sum = {sum_total}") print(f"循环运行次数:{count}")
代码说明
sum_total初始化为0,保证从0开始累加随机数,符合需求逻辑count初始为0,每执行一次循环就自增1,精准记录循环次数while sum_total < 20作为循环终止条件,只要总和未达到20就继续生成随机数累加- 每次循环内重新生成随机数,避免重复使用同一个数值,满足“生成随机数”的要求
内容的提问来源于stack exchange,提问作者Danes
相关产品推荐
相关产品推荐

