让我简单地解释一下。你知道吗
代码:
choice = raw_input("Do you like pineapple? Y/N: ")
if choice == "y".lower() or choice == "ye".lower() or choice == "yes".lower():
print("Sammmmeee")
else:
print("Nani! You criminal!")
我怎样才能做到这一点而不是:
if choice == "y".lower() or choice == "ye".lower() or choice == "yes".lower():
它自动接受,"y"
,"ye"
或"yes"
,而不需要做or
那么多?你知道吗
首先,您不应该将
lower
应用到右手边,这是一个常量,已经是小写了。应将其应用于变量输入:有很多方法可以检查你正在寻找的匹配项。最简单的方法是使用
startswith
:另一种方法是显式检查集合或元组中的包含:
这只在不适合简单方法检查的情况下才是必要的,比如您想将
ok
添加到选项列表中。你知道吗如果要进行多个函数检查,可以将
any
与生成器表达式一起使用:这里所有的测试都是正确的短路,就像你原来的表达式一样。你知道吗
这将在大小写上完全匹配
'y'
、'ye'
和'yes'
:您可以使用^{} 来实现这一点:
相关问题 更多 >
编程相关推荐