This question already has answers here:
How to test multiple variables against a value?
(24个答案)
5年前关闭。
手头的任务很简单,做一个简短的程序,要求一个cpsc先决条件(编号217219,或233)和一个数学先决条件(217或251),如果你有一个这样的类作为先决条件,那么它应该说先决条件满足,如果不满足,那么先决条件不满足。我的代码如下(不要笑,字面上最大的python noob):
我的每一个输入都只给我一个else打印,我假设它在
这将打印
实际上,在您的案例中,
(您可以尝试评估
解决这个问题
您可以使用
编辑:)
啊,是的。我忘了说上面的代码现在还不能工作。你又少了一件事。
那是什么?事实上
要解决此问题,请使用
这就是全部。。希望这有帮助!
(24个答案)
5年前关闭。
手头的任务很简单,做一个简短的程序,要求一个cpsc先决条件(编号217219,或233)和一个数学先决条件(217或251),如果你有一个这样的类作为先决条件,那么它应该说先决条件满足,如果不满足,那么先决条件不满足。我的代码如下(不要笑,字面上最大的python noob):
cpsc=input("Which cpsc course have you taken (only pick one): ")
math=input("which math course have you taken (only pick one): ")
if cpsc==(217 or 219 or 233) and math ==(217 or 251)
print("prerequisites met")
else:
print("prerequisites not met")
我的每一个输入都只给我一个else打印,我假设它在
cpsc==
和math==
中的比较有问题,我该怎么做才能使这个工作?任何帮助都将不胜感激。 最佳答案
对不起,我笑了
开玩笑,但是。。哈哈哈。好吧,对不起。让我们直说重点。
为什么它不能提供所需的输出?
你的if语句有点问题。试着在你的对讲机里测试一下:)
a = 233
if a == (217 or 219 or 233):
print (True)
else:
print (False)
这将打印
False
。你知道为什么吗?实际上,在您的案例中,
or
的使用有点不合适。(您可以尝试评估
(217 or 219 or 233)
)。在这里,您实际上是在执行逻辑比较,使用(217 or 219 or 233)
作为运算符(单击链接,它在C中,但应该很容易理解)。解决这个问题
您可以使用
or
运算符,将“所需”值列为一个列表:if a in [217, 219, 233] and math in [217, 251]:
#do something
编辑:)
啊,是的。我忘了说上面的代码现在还不能工作。你又少了一件事。
那是什么?事实上
in
总是给你一个字符串。因此,如果input
的值是a
,它仍然不起作用,因为"217"
(整数)不等于217
(字符串)。要解决此问题,请使用
"217"
函数将输入转换为整数。cpsc = int(input("Which cpsc course have you taken (only pick one): "))
math = int(input("which math course have you taken (only pick one): "))
这就是全部。。希望这有帮助!
关于python - 简单比较先决条件不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19580573/
10-11 07:40