Python如何实现每次输出不同结果的随机数生成循环
Python循环生成不同随机数实现方案
你之前写循环没得到预期效果,基本都是因为随机数生成语句没放在循环的缩进块内部,导致循环全程复用第一次生成的同一个值。下面两种写法可以直接运行使用:
固定次数生成(for循环)
适合提前明确需要生成多少个随机数的场景,比如课程作业要求生成指定数量随机数就用这个:
import random # range()括号内填你需要生成的随机数总数量,示例是生成8个 for _ in range(8): # 注意:这行必须缩进放在for语句下方,属于循环内部代码,每次循环才会重新计算新值 rand_num = random.randint(1, 9) print(rand_num)
持续无限生成(while True循环)
适合需要不停生成随机数、直到手动终止程序的场景:
import random while True: rand_num = random.randint(1, 9) print(rand_num) # 如果觉得滚动太快看不清,可以取消下面两行的注释,设置每次输出间隔1秒 # import time # time.sleep(1)
运行时按
Ctrl + C即可终止无限循环。
常见注意点
- Python标准库的
random模块默认用系统当前时间作为随机种子,不需要你额外设置种子,每次启动程序自然会输出不同的随机数结果 import random只需要写在代码最开头一次即可,不要放到循环内部,属于无意义的重复操作- 一定要检查缩进:Python不靠大括号、靠缩进判断代码归属,随机数生成、打印的语句如果和
for/while写在同一缩进层级,就不会被循环执行,自然拿不到每次更新的随机数
内容的提问来源于stack exchange,提问作者loserpcs
相关产品推荐
相关产品推荐

