简单Python随机数猜测器

简单Python随机数猜测器,python,random,numbers,Python,Random,Numbers,我刚刚写了一个猜测随机数的快速脚本。 尽管脚本的最后一行“恭喜你赢了等”没有运行。 此外,在一些解释器中,它给出了一个错误“无法运行脚本” import random attempts = 0 secret_number = random.randint(1,100) isCorrect = False guess = int(input("Take a guess: ")) while secret_number != guess: if guess < secret_n

我刚刚写了一个猜测随机数的快速脚本。 尽管脚本的最后一行“恭喜你赢了等”没有运行。 此外,在一些解释器中,它给出了一个错误“无法运行脚本”

import random 
attempts = 0
secret_number = random.randint(1,100)
isCorrect = False
guess = int(input("Take a guess: ")) 

while secret_number != guess: 
    if guess < secret_number:
        print("Higher...")
        guess = int(input("Take a guess: "))
        attempts+= 1 
    elif guess > secret_number:
        print("Lower...")
        guess = int(input("Take a guess: "))
        attempts+= 1 
    else:
        print("\nYou guessed it! The number was " ,secret_number)

您应该打印while循环的行,因为当secret_number==guess时,循环将中断

while ...:
    if: 
        ... 
    elif: 
        ...

print "You guessed it! The number was {0}".format(secret_number)

我对你的剧本做了一些修改。请注意,其功能由执行流调节,无需特殊控制语句(如继续、中断或明确干预)使其逻辑一致:

import random 


secret_number = random.randint(1, 100)
guess = None
attempts = 0

while secret_number != guess: 
    guess = int(input("Take a guess: ")) 
    attempts += 1

    if secret_number == guess:
        print("\nYou guessed it! The number was ", secret_number)
    elif guess < secret_number:
        print("Higher...")
    elif guess > secret_number:
        print("Lower...")

如果初始猜测是正确的,则循环条件立即为false,不执行循环。else行从不执行,因为while循环条件根据正确的猜测得到验证并退出循环。您只需删除else并取消该行的缩进,这样它在中断while之后就会显示。将最后一行移出while循环
None@vacuum:~$ python3.6 ./test.py
Take a guess: 70
Higher...
Take a guess: 80
Higher...
Take a guess: 90
Higher...
Take a guess: 95
Lower...
Take a guess: 94
Lower...
Take a guess: 93
Lower...
Take a guess: 92
Lower...
Take a guess: 91

You guessed it! The number was  91