Python 我怎样才能得到多重不等式?

Python 我怎样才能得到多重不等式?,python,while-loop,conditional,Python,While Loop,Conditional,如何在python中生成多个不等式?比如说 school_type = input ("Enter what type of school you want. press H for high school, M for middle school, or E for elementary school").lower() while school_type != "h" or school_type != "m" or school_type != "e": # Is this code c

如何在python中生成多个不等式?比如说

school_type = input ("Enter what type of school you want. press H for high school, M for middle school, or E for elementary school").lower()

while school_type != "h" or school_type != "m" or school_type != "e": # Is this code correct?

   print ("You must enter H, M, or E")
学校类型!=“h”或学校类型!=“m”
将始终计算为
,因为
学校类型
将始终不等于
“h”
或不等于
“m”

您应该在while循环条件中使用
,而不是

while school_type != "h" and school_type != "m" and school_type != "e":
或者你可以使用:

学校类型!=“h”或学校类型!=“m”
将始终计算为
,因为
学校类型
将始终不等于
“h”
或不等于
“m”

您应该在while循环条件中使用
,而不是

while school_type != "h" and school_type != "m" and school_type != "e":
或者你可以使用:


正如@iCodez刚才所说,如果
学校类型
不同于
“h”
,不同于
“m”
,不同于
“e”
,则需要再次迭代。正如他所说,这最好用
学校类型来表达,而不是用[“h”,“m”,“e”]
。这个表达式更简单,更容易阅读,也不容易出错

在您更改
while
的条件后,我仍然会在您的代码中修复两件事。首先,如果条件为真,即用户为
学校类型
键入了错误的值,则应采取适当的措施:必须要求用户键入新值,直到他/她键入正确的值为止。其次,应该使用
raw\u input()
而不是
input()
。区别在于第一个更适合字符串,而第二个有问题,在这种情况下,实际上需要用户在输入值周围键入

结果可能是这样的:

def ask_for_school_type():
    s = "Enter what type of school you want. Type H for high \
school, M for middle school, or E for elementary school: "
    return raw_input(s).lower()

school_type = ask_for_school_type()
while school_type not in ["h", "m", "e"]:
   print "You must enter H, M, or E"
   school_type = ask_for_school_type()

正如@iCodez刚才所说的,如果
学校类型
“h”
不同,与
“m”
不同,与
“e”
不同,那么您需要再次迭代。正如他所说的,这最好用
学校类型而不是[“h”、“m”、“e”]来表达
。该表达式更简单、更易于阅读且不易出错

在您更改
的while
条件后,我仍然会在您的代码中修复两件事。首先,如果条件为真,即用户为
学校类型键入了错误的值,则应采取适当的措施:必须要求用户键入新值,直到他/她键入了正确的值。其次,您应该使用e> 原始输入()
而不是
input()
。区别在于第一个更适合字符串,而第二个有问题,在这种情况下,实际上需要用户在输入值周围键入

结果可能是这样的:

def ask_for_school_type():
    s = "Enter what type of school you want. Type H for high \
school, M for middle school, or E for elementary school: "
    return raw_input(s).lower()

school_type = ask_for_school_type()
while school_type not in ["h", "m", "e"]:
   print "You must enter H, M, or E"
   school_type = ask_for_school_type()