关于我运用random函数碰到的问题
我是萌新求助大佬# 导入随机模块 #
import random
# 接收用户输入并将数值赋值给 counts 变量 #
i = 0
counts=input("开始抛硬币实验:")
counts=int(counts)
print("开始抛硬币实验:")
while i < counts:
# 生成一个随机数num #
num=random.randint(0,1)
if num % 2:
# 打印结果 #
print("正面",end=" ")
else:
# 打印结果 #
print("反面",end=" ")
i = i + 1
x=random.getstate()
random.setstate(x)
i=0
print(" \n")
while i < counts:
# 生成一个随机数num #
num=random.randint(0,1)
if num % 2:
# 打印结果 #
print("正面",end=" ")
else:
# 打印结果 #
print("反面",end=" ")
i = i + 1
运行结果如下:
开始抛硬币实验:20
开始抛硬币实验:
反面 反面 正面 反面 正面 正面 反面 正面 反面 正面 反面 反面 正面 反面 反面 正面 反面 反面 反面 反面
反面 正面 正面 反面 反面 反面 反面 反面 反面 反面 正面 正面 正面 正面 正面 反面 正面 反面 正面 反面
>>> 我明明重置了随机状态啊?
为什么第二行跟第一行结果完全不一样呢?
谢谢!
这样写就一样了。
import random
# 接收用户输入并将数值赋值给 counts 变量 #
x=random.getstate()
i = 0
counts=input("开始抛硬币实验:")
counts=int(counts)
print("开始抛硬币实验:")
while i < counts:
# 生成一个随机数num #
num=random.randint(0,1)
if num % 2:
# 打印结果 #
print("正面",end=" ")
else:
# 打印结果 #
print("反面",end=" ")
i = i + 1
random.setstate(x)
i=0
print(" \n")
while i < counts:
# 生成一个随机数num #
num=random.randint(0,1)
if num % 2:
# 打印结果 #
print("正面",end=" ")
else:
# 打印结果 #
print("反面",end=" ")
i = i + 1 冬雪雪冬 发表于 2021-9-23 22:58
这样写就一样了。
懂了懂了谢谢!
页:
[1]