我试图制作一个程序,如果用户输入一个特定的短语,它就会循环运行。目前,无论用户输入什么,程序都会结束循环。你知道吗
umlist = ['um', 'UM' , 'Um' ]
while True:
phrase = input('Say something. ')
umcheck=phrase.split()
if umcheck in umlist:
print("You said um, try again")
else:
break
print("Well done, you didn't say um.")
如果用户输入“um”,我需要改变什么才能让程序检测并循环
in
在另一个list
中查找list
的出现。它不像你想象的那样执行交叉测试。你知道吗举例来说,使条件匹配的唯一方法是在列表中放入一个列表,如下所示:
有
any
和其他(Test if lists share any items in python)的方法。我的方法是使用set
。创建一组不想看到的单词,并查看用户输入的单词是否相交:umcheck.isdisjoint(umlist)
返回True
,如果两个集合没有共同的元素。为您的测试否定它(或者为更清楚起见反转if
分支)首先,
umcheck
是一个列表!一句话也没说。你知道吗实验:
然后:
在
umlist
中找不到任何列表。你知道吗您可以这样做:
您可以使用更简单的解决方案来实现这一点:
输入小写,然后检查其中的“um”:
相关问题 更多 >
编程相关推荐