结合for循环和if语句与Python中的字典
问题描述:
我正在一个练习中,我应该有一个列表和字典,并打印出一个指定的消息,如果列表中的值不在字典中有人可以帮忙吗?出于某种原因,它只打印出else语句,但不打印if。我相信,我失去了一些东西结合for循环和if语句与Python中的字典
poll_takers = ['angel', 'jana', 'murad', 'adel', 'joe', 'jake']
favorite_language = {
'angel': 'python',
'jana': 'c++',
'murad': 'python',
'adel': 'swift',
}
for name in poll_takers:
if name == favorite_language:
print(name.title() + ", thank you for taking the poll.")
else:
print(name.title() + ", please take the poll.")
答
你的条件应该是
if name in favorite_language
,检查是否有键在字典中,否则
if name == favorite_language
总是计算为false,因为字符串名称不等于字典,因为==
测试相等,这就是为什么else语句不断被触发
+6
如果您要回答它,请正确回答。解释他们做错了什么。 – idjaw
+0
编辑了答案 –
你觉得'name == favorite_language'是什么意思? – mkrieger1
正如mkrieger的评论所指出的那样 - 你需要考虑为什么它只会碰到其他的东西 - 为什么名字是!= favourite_language?如果它有帮助,你可以打印出每个这些变量来做一些你自己的快速调试! –
'=='测试*相等*。看看左边是什么,右边是什么。每种类型的*类型*是什么。打印出来,看看它究竟是什么比较。 – idjaw