我正在尝试编写一个翻转硬币的程序,并相应地显示Heads或Tails。这就是我所拥有的:
from random import random
while True:
for i in range (2):
spin = i.random()
if spin == 0:
print ("Heads")
else:
print ("Tails")
但我一直收到错误:
Traceback (most recent call last):
File "C:/Users/Yamnel/Desktop/Python Programs/coin flip.py", line 5, in <module>
spin = i.random()
AttributeError: 'int' object has no attribute 'random'
答案 0 :(得分:2)
请参阅以下代码段
from random import random
coin = ['Heads', 'Tails']
num_of_tosses = 10
for i in range (num_of_tosses):
spin = randrange(0,2)
print coin[spin]
我使用randrange
随机选择0到1之间的元素。换句话说,选择0或1。
然后我设置了一个名为coin
的选项列表,用于打印Tails
或Heads
。
答案 1 :(得分:1)
import random
while True:
result = random.randrange(2)
if result == 0:
print ("Heads")
else:
print ("Tails")
答案 2 :(得分:1)
此处介绍的大多数解决方案都关注random.randrange()
。您也可以使用random.choice()
执行此操作,它会从非空序列中返回一个随机元素:
>>> from random import choice
>>> coin = 'Heads Tails'.split()
>>> FLIPS = 5
>>> for _ in range(FLIPS):
... print(choice(coin))
...
Tails
Heads
Tails
Heads
Tails
>>>
答案 3 :(得分:0)
使用此
from random import randrange
while True:
spin = randrange(0,2)
if spin == 0:
print ("Heads")
else:
print ("Tails")
您还希望代码运行多少次。这将永远不会结束。理想情况下,您只需运行一次代码即可获得heads
或tails
。我建议从代码中删除while
。如果您删除while
,请密切注意缩进。
答案 4 :(得分:0)
&#34; INT&#34;是一种基本类型,没有像random()这样的方法。
你必须使用random.randrange(2)
有关详细信息,请参阅: