我如何获得仅等于1-8的用户输入?

问题描述 投票:0回答:2

我正在尝试创建一个循环,在该循环中为用户提供选项1-8,如果他们没有选择1-8,则会将其循环回到重新输入1-8的位置。我试图在两个条件下使用while循环。我想念什么?

fm_select = int(input("Enter a number 1-8"))
while fm_select <= 8 and fm_select >= 1:
python while-loop
2个回答
3
投票

您的范围是错误的。您希望while循环为正确时为失败,因为您正试图脱离循环。因此,您希望循环检查不是在1到8之间的每个数字。相反,请执行

fm_select = 0
while (fm_select < 1 or fm_select > 8):
    fm_select = int(input("Enter a number between one and eight: "))

“只要他们的输入少于一或大于八,就继续询问”


1
投票

类似的东西应该起作用

while(True):
    fm_select = int(input("Enter a number 1-8"))
    if 0 < fm_select < 8:
        break
    print("try again")
 print("you have entered %d" %(fm_select) )
© www.soinside.com 2019 - 2024. All rights reserved.