双引号硬币翻转

double quote coin flip

import random
input("You tossed a coin. Select 0 or 1\n" )
random_side = random.randint(0, 1)
if random_side == 1:
  print("Heads")
else:
  print("Tails")    

当我在 1 中使用双引号时(如果 random_side == "1":)。它给了我相同的输出而不是随机结果。

如果您希望您的输入决定硬币翻转的哪一面,那么您必须首先:

  1. 将输入存储在变量中

  2. 因为你希望它是一个整数,所以确保它是一个整数

  3. 将其添加到条件

    coinFlip = int(input("你掷了一个硬币。Select 0 或 1\n"))

    如果 coinFlip == 1: 打印(“头”) 别的: 打印(“尾巴”)

引用 random.randint 的结果将不起作用,因为 randint 生成整数值。您可以通过调用 type 函数来判断值的类型:

>>> type(random.randint(0, 1))
<class 'int'>

所以,比较的时候,应该做if if random_side == 1:。或者,您可以执行 if random_side:,因为 Python 会将 0 解释为 False,将 1 解释为 True。

顺便说一句,在使用 Python 的随机库之前,您应该为随机生成器设置种子以确保获得合理的随机结果。如果不这样做,可能会导致随机数生成器对每个 运行 使用相同的值。您可以找到相关文档 here.

一种更简单的选择正面或反面的方法是 random.choice()。见下文:

from random import choice
print(choice(['heads', 'tails'])) # Or assign this to a variable

请阅读随机模块。