微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python 上多个元素的 50% 概率

如何解决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 举报,一经查实,本站将立刻删除。