Python上多个元素的50%概率

2024-05-17 09:53:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图在python上创建一个“足球”游戏,如果用户想要传球,我的代码应该有50%的概率在3到15码之间完成传球或不完整传球

我知道要打印码数,代码应该是

import random
input("Enter r to run and p to pass")
p = print(random.randint(3,15))

但我不知道如何使“不完整”显示为50%的概率


Tags: andtorun代码用户import游戏input
2条回答

你可以用这样的东西

import random
inp = input("Enter r to run and p to pass")
if(inp == "p"):
    print(random.choice([random.randint(3,15),0]))
elif(inp == "r"):
    print("ran successfully")

这:random.choice([random.randint(3,15),0])是重要的位random.choice在一个列表中获取多个值(在本例中为2),然后随机选择一个值(2个值=>;50%概率)

我还修复了输入输出的问题。要从用户处获取输入,请将输入值分配给如下变量:example = input("Your input here: ")。如果您运行那行代码,并以potato为例进行回答,您就可以打印示例并取回马铃薯(或用户回答的任何内容)

如果你真的想充实你的游戏,我建议你研究一下模板字符串。这些让你可以做这样美妙的事情:

import random
inp = input("Enter r to run and p to pass")
if(inp == "p"):
    print(random.choice([f"Successfully passed the ball {random.randint(3,15)} yards","You tripped, the ball wasn't passed."]))
elif(inp == "r"):
    print("Ran successfully.")

您可以使用下面的代码。由于定义了一条语句来选择3-15之间的随机数,因此可以创建另一条语句来选择0或1(不保证为%50)。同样,在代码中,您将打印函数的返回值指定给一个参数。这绝对是错误的Print函数不返回任何内容,因此将其分配给另一个变量是没有意义的

x = random.randint(0,1)
if x == 1:
    random.randint(3,15)
    
else:
    # incomplete pass

相关问题 更多 >