gpt4 book ai didi

loops - 如何让 while 语句在 python 3 中再运行一次

转载 作者:行者123 更新时间:2023-12-02 17:35:13 24 4
gpt4 key购买 nike

有什么办法可以让 while 语句在完成后再运行一次?

  • 例子:

    x=1
    while x<=30 :
    print('hello world')
    x+=1
    print(x)
    print('hello world')

这显然会打印 31 次“hello world”。尽管在较长的程序中,在循环后重新编写整个代码有点愚蠢。

任何帮助将不胜感激!

更新!我没有做 x<31 的原因如下。

我正在构建一个二十一点游戏。因此,当银行达到 30 美元时,将进行另一轮游戏,然后游戏结束。

银行的值(value)取决于玩家的投注(bank strats with 10$ ,如果玩家下注 3 并输掉这一轮,银行有 13$)

最佳答案

当然,如果你的条件是数字,比如x < 30 ,您可以将其更改为 x < 31x <= 30 ,但这并不总是可能的。另一种方法是将循环体包装到一个函数中,并在循环之后再次调用它,但这也可能并不总是实用。

或者,您可以使用原始条件的析取和某些计算结果为 True 的表达式第一次,然后到False .例如,您可以在列表 [True, False] 上使用迭代器.只要实际情况是True , 第二部分根本不被评估( or 是惰性的),然后,当条件是 False 时, next被调用,产生 True第一次然后False

x=1
oncemore = iter([True, False])
while x < 30 or next(oncemore):
x+=1
print(x)

或者您可以将条件检查推迟到循环内部。这样,退出条件只会在循环的次迭代中生效。

once_more = True
while once_more:
if not (x < 30):
once_more = False
# original loop body here

关于loops - 如何让 while 语句在 python 3 中再运行一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27493617/

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