如何解决Python 上多个元素的 50% 概率
我正在尝试在 python 上创建一个“足球”游戏,如果用户想要传球,我的代码应该有 50% 的概率出现不完整的传球或完成 3 到 15 码的传球
我知道要打印码数,代码看起来像
import random
input("Enter r to run and p to pass")
p = print(random.randint(3,15))
但我不确定如何使“不完整”显示为 50% 的概率
解决方法
您可以使用下面的代码。由于您已经定义了一个语句来选择 3-15 之间的随机数,因此您可以创建另一个语句来选择 0 或 1(不保证 %50)。同样在您的代码中,您将打印函数的返回值分配给一个参数。这绝对是错误的! Print
函数不返回任何内容,因此将其分配给另一个变量是没有意义的。
x = random.randint(0,1)
if x == 1:
random.randint(3,15)
else:
# incomplete pass
,
你可以使用这样的东西。
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,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.")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。