繁体   English   中英

为什么当我在 python 中达到 0 时赛车游戏不会中断

[英]Why won't Racing game break when I reach 0 in python

不确定问题。 我让游戏为 2 名跑步者运行一个恒定的随机数,但当我的跑步者达到 0 时它不会中断。我试过翻转 if Cheetah and Rabbit == 0 print"?赢了,但它不起作用。数字只是 go 变成负数

import time
import random

Cheetah = 222
Rabbit = 222

for i in range(222):
    a = random.randint(4, 10)
    if Cheetah == 0:
        print("Cheetah Wins!")
        break
    if a == 4:
        Cheetah = Cheetah - 4
        print(Cheetah, "Cheetah")
    elif a == 5:
        Cheetah = Cheetah - 5
        print(Cheetah, "Cheetah")
    elif a == 6:
        Cheetah = Cheetah - 6
        print(Cheetah, "Cheetah")
    elif a == 7:
        Cheetah = Cheetah - 7
        print(Cheetah, "Cheetah")
    elif a == 8:
        Cheetah = Cheetah - 8
        print(Cheetah, "Cheetah")
    elif a == 9:
        Cheetah = Cheetah - 9
        print(Cheetah, "Cheetah")
    elif a == 10:
        Cheetah = Cheetah - 10
        print(Cheetah, "Cheetah")


    b = random.randint(3, 10)
    if Rabbit == 0:
        print("Rabbit Wins")
        break
    if b == 3:
        Rabbit = Rabbit - 3
        print(Rabbit, "Rabbit")
    elif b == 4:
        Rabbit = Rabbit - 4
        print(Rabbit, "Rabbit")
    elif b == 5:
        Rabbit = Rabbit - 5
        print(Rabbit, "Rabbit")
    elif b == 6:
        Rabbit = Rabbit - 6
        print(Rabbit, "Rabbit")
    elif b == 7:
        Rabbit = Rabbit - 7
        print(Rabbit, "Rabbit")
    elif b == 8:
        Rabbit = Rabbit - 8
        print(Rabbit, "Rabbit")
    elif b == 9:
        Rabbit = Rabbit - 9
        print(Rabbit, "Rabbit")
    elif b == 10:
        Rabbit = Rabbit - 10
        print(Rabbit, "Rabbit")

这是一个非常具体的条件:

if Cheetah == 0:

如果Cheetah等于1并且a等于4会发生什么?:

Cheetah = Cheetah - 4

现在Cheetah等于-3 而且由于您只从中减去它,因此它永远不会等于0

与其检查值是否正好为零,不如检查它是否小于一:

if Cheetah < 1:

这样,如果它是0或任何负数,它就会得到满足。

您必须将其与<=进行比较。 这些 if 语句也已过时。 您可以通过执行以下操作大量缩短代码:

import time
import random

Cheetah = 222
Rabbit = 222

for i in range(222):
    a = random.randint(4, 10)
    Cheetah = Cheetah - a
    print(Cheetah, "Cheetah")

    b = random.randint(3, 10)
    Rabbit = Rabbit - b
    print(Rabbit, "Rabbit")
    
    if Cheetah <= 0:
        print("Cheetah Wins!")
        break
    
    if Rabbit <= 0:
        print("Rabbit Wins")
        break

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM