我很会Python 发表于 2023-11-13 19:23:54

掷硬币

import random

b = ("zhengm" and "beimian")
temp = int(input("请您输入抛硬币次数:"))
c = random.seed(a=b)

while temp> 0:
    print(c)
    temp = temp-1
为什么也不报错,一运行出来的结果全是none呢,为什么不是正面和背面呢

   

isdkz 发表于 2023-11-13 19:24:07

问题出在你的代码逻辑上。首先, random.seed()方法用于初始化随机数生成器,但它不会返回任何值。其次, random.seed()方法应该在使用random模块的其他函数之前调用,以确保生成的随机数是可预测的。而在你的代码中,你使用random.seed()的方式并不正确。

为了解决这个问题,你可以使用random.choice()方法来随机选择正面或者背面。下面是修改后的代码:

import random

sides = ["正面", "背面"]
temp = int(input("请您输入抛硬币次数:"))

while temp > 0:
    result = random.choice(sides)
    print(result)
    temp -= 1


这段代码中,我们使用random.choice()方法来从sides列表中随机选择一个元素,代表硬币的正面或者背面。然后将选择的结果打印出来。

Mike_python小 发表于 2023-11-13 19:25:11

你的代码存在一些问题。首先,random.seed() 函数是用来设置随机数生成器的种子,而不是用来生成随机数本身的。其次,你使用了 and 来创建一个包含两个字符串的元组,这并不符合你期望的行为。

下面是修正后的代码:


import random

temp = int(input("请输入抛硬币次数:"))

while temp > 0:
    result = random.choice(["正面", "背面"])
    print(result)
    temp -= 1


在这个修正后的代码中,我使用了 random.choice 函数来随机选择 "正面" 或 "背面",并且在每次循环中打印出结果。这样就可以得到正确的随机抛硬币结果了。
页: [1]
查看完整版本: 掷硬币