Inequalities/numerical 值+python 的条件语句?

Inequalities/numerical values+conditional statements for python?

我想对 python 进行条件测试,以检查给定输入数字的值是否等于或小于 9,并且大于或等于 0。

number =input( "Please enter a number! :" )
Please enter a number! :23
>>> edited_number=float(number)
>>> if edited_number >0 <9:
    print ("Entered value greater than or equal to 0 and less than or equal to 9!")

我收到一条打印消息:

输入的值大于或等于0且小于或等于9!

这显然是错误的,因为输入的值为 23。这向我暗示 <9 条件由于某种原因被忽略了。

有什么方法可以让我用一个 if 得到一个数值范围吗?还是每个 if 语句只解释一个条件?

PS:我正在使用 Python 3.6.0b 如果有任何相关性的话。

你可以写

if not (0 <= edited_number <= 9):
   print ("Entered value greater than or equal to 0 and less than or equal to 9!")

那个链式表达式并没有按照您的想法行事。你要的是:

0 <= edited_number <= 9

或者,如果您不习惯链式条件,您可以使用冗长的形式:

0 <= edited_number and edited_number <= 9

表达式:

edited_number > 0 < 9

相同
edited_number > 0 and 0 < 9

edited_number 为 23 时计算结果为 True


参考:

Comparisons

"if edited_number > 0 < 9"

这在 python 中不起作用。 您需要像这样指定变量两次:

if edited_number > 0 and edited_number < 9

number =input( "Please enter a number! :" )

edited_number=float(number)
if  not (0 <= edited_number <= 9):
    print ("Entered value greater than or equal to 0 and less than or equal to 9!")

输入:23

输出:Entered value greater than or equal to 0 and less than or equal to 9!