检查转换为lower()的两个字符串是否按预期工作

时间:2016-05-14 23:23:50

标签: python input

我有两个字符串,string0和string1。我想检查输入是否包含小写的这些字符串。但是它只是检查其中一个。

import sys

string0 = "Weather"
string1 = "Like"
userInput = input("say whatever")

if string0.lower() and string1.lower() in userInput:
    print("it is quite nice")

这里只检查string1。我不明白为什么,任何想法?我使用的是python 3

5 个答案:

答案 0 :(得分:0)

你必须分别检查每个字符串,试试这个:

if string0.lower() in userInput and string1.lower() in userInput:

答案 1 :(得分:0)

您必须单独检查条件。第一部分将评估为True。除空字符串''之外的每个字符串都计算为True

if string0.lower() in userInput and string1.lower() in userInput:

答案 2 :(得分:0)

您可能希望or检查字符串,此外,您的情况并非正确。

if string0.lower() in userInput or string1.lower() in userInput:

你也可以试试这个

if userInput in {string0.lower(), string1.lower()}:

答案 3 :(得分:0)

你正在使用和在这种情况下。你可能需要一个或。

答案 4 :(得分:-1)

in测试一个值是否在值列表中。所以你的逻辑是倒退的,你想知道userInput 中的是否允许值:

if userInput in [string0.lower(), string1.lower()]:
    print("it is quite nice");