python008讲用random.seed为什么会报错
import randomi = 0
counts = int(input("请输入抛硬币的次数:"))
print("开始抛硬币实验:")
while i < counts:
num = random.seed()
num = int(num)
if num % 2:
print("正面", end = " ")
else:
print("反面", end = " ")
i = i + 1
这个代码无法运行会报错,但我不明白为什么会报错
random.seed()如果里面是空值,就默认是系统时间,然后我再用int函数转换为整数,为什么会报错呢? 可能是版本不兼容
或者输入的文件夹里只有一个{:10_277:}文档吧... 本帖最后由 txxcat 于 2020-4-3 22:01 编辑
random.seed()不是这样用的,这个是方法改变随机数生成器的种子,直接运行就可以了,不能赋值,赋值结果是None,int()当然就报错了。
你需要用的是randint():
import random
i = 0
counts = int(input("请输入抛硬币的次数:"))
print("开始抛硬币实验:")
while i < counts:
num = random.randint(0,100)
if num % 2:
print("正面", end = " ")
else:
print("反面", end = " ")
i += 1
再来个精简的:
import random
counts = int(input("请输入抛硬币的次数:"))
print("开始抛硬币实验:")
for i in range(counts):
print("正面" if random.randint(0,1) else "反面",end=" ")
txxcat 发表于 2020-4-3 21:50
random.seed()不是这样用的,这个是方法改变随机数生成器的种子,直接运行就可以了,不能赋值,赋值结果是N ...
学习啦,很经典!!! random.seed() 没有返回值,你应该要用 random.randint() 生成 0 ~ 1 的整数:
import random
i = 0
counts = int(input("请输入抛硬币的次数:"))
print("开始抛硬币实验:")
while i < counts:
num = random.randint(0, 1)
if num % 2:
print("正面", end=" ")
else:
print("反面", end=" ")
i = i + 1 谢谢大家,我明白了 txxcat 发表于 2020-4-3 21:50
random.seed()不是这样用的,这个是方法改变随机数生成器的种子,直接运行就可以了,不能赋值,赋值结果是N ...
写的有问题
页:
[1]