gpt4 book ai didi

python - 设置循环条件

转载 作者:太空宇宙 更新时间:2023-11-04 08:15:55 25 4
gpt4 key购买 nike

编程新手,为了练习,我正在尝试编写 I-Ching oracle。我得到了我想要的输出,但只是将此代码块复制到我的程序中 6 次。

我可以设置一个循环条件来使它更简洁吗?

我已经阅读了有关循环的文档和教程,但还没有看到如何在这种情况下应用它。

import random 

oracle = random.randint(6,9)

if oracle == 6:
print "__ __~"
elif oracle == 7:
print "_____"
elif oracle == 8:
print "__ __"
elif oracle == 9:
print "_____~" (X6)

=>这是我得到的输出:

_____
__ __
__ __~
_____
_____~
__ __

最佳答案

请注意,您的概率分布是错误的。

要阅读易经,您应该掷 3 个均匀的硬币,每条反面加 2 分,每条正面加 3 分:

Coin1  Coin2  Coin3  Points
t t t 6
t t h 7
t h t 7
t h h 8
h t t 7
h t h 8
h h t 8
h h h 9

您可以看到有 3 种方法求和为 7 或 8,但只有一种方法求和为 6 或 9;因此分配应该是 6: 12.5%, 7: 37.5%, 8: 37.5%, 9: 12.5%。 randint 给出一个均匀分布,即每个 25%。

我建议如下:

from random import randint

xyin = "__ __~"
yang = "_____"
yin = "__ __"
xyang = "_____~"

three_coins = [ xyin, yang, yang, yin, yang, yin, yin, xyang ]

def cast():
return three_coins[randint(0, 7)]

def hexagram():
return '\n'.join(cast() for i in range(6))

print hexagram()

关于python - 设置循环条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14614678/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com