繁体   English   中英

在while循环中打印最终的elif语句

[英]Printing final elif statement in while loop

我在 Python 中创建了一个简单的程序,其中我使用随机数模块生成 1 到 10 之间的随机数,然后要求用户猜测数字,如下所示:

import random

randnum = random.randint(1, 10)

guess = input("Guess a number between 1 and 10: ")
guess = int(guess)

while guess != randnum:
    if guess < randnum:
        print("Your guess is too low.")
        guess = input("Guess again: ")
        guess = int(guess)
    elif guess > randnum:
        print("Your guess is too high")
        guess = input("Guess again: ")
        guess = int(guess)
    elif guess == randnum:
        print("That is correct!")

我的问题是让程序在猜到正确数字时打印最终的 elif 语句。 相反,while 循环终止,因为条件已经满足。 当猜到正确的数字后,如何打印出最终陈述?

当用户正确时, guess != randnum将为假,循环将在查看任何选项之前退出。 只需将最后一个elif移到循环之外:

import random

randnum = random.randint(1, 10)

guess = input("Guess a number between 1 and 10: ")
guess = int(guess)

while guess != randnum:
    if guess < randnum:
        print("Your guess is too low.")
        guess = input("Guess again: ")
        guess = int(guess)
    elif guess > randnum:
        print("Your guess is too high")
        guess = input("Guess again: ")
        guess = int(guess)

print("That is correct!")

虽然我会编写更像这样的代码:

import random

randnum = random.randint(1, 10)

guess = int(input("Guess a number between 1 and 10: "))

while guess != randnum:
    if guess < randnum:
        print("Your guess is too low.")
    elif guess > randnum:
        print("Your guess is too high")
    
    guess = int(input("Guess again: "))

print("That is correct!")

暂无
暂无

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

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