我希望我能解释清楚。我有一本字典,里面有一系列的名字。我还有一个名单,上面还有一个名单。我想做的是把名单上的名字传给字典,如果名单上提到了一个名字,但字典里没有提到,我希望它打印一条信息,告诉这个人去做一个调查。到目前为止,我掌握的情况如下:
favorite_languages = {'Jen': 'python', 'Sarah': 'c', 'Edward': 'Ruby', 'Phil': 'python'}
poll_takers = ['Jen', 'Greg', 'Sarah', 'Allan', 'Bob']
for name, language in favorite_languages.items():
print(name.title() + "'s favorite language is " + language.title() + ".")
if name in favorite_languages:
print('Thank you for taking the poll!')
if name in poll_takers and not favorite_languages:
print('Please take our poll!')
当我运行这个程序时,它会打印出“最喜爱的语言”列表中每个人的名字,并在每个人之后打印“谢谢”,但它不会从poll_takers
列表中找到缺少的名字并打印正确的消息
我知道这很简单,但我试过两件事,但都做不到。有人知道我错过了什么吗
问题是,您只遍历最喜爱的\u语言中的项,因此第二个if语句的计算结果永远不会为True
相反,您可以使用set(),它只从常用\u语言中的键和poll \u takers中的值中获取唯一值:
最喜欢的语言={'Jen':'python','Sarah':'c','Edward':'Ruby','Phil':'python'} poll\u takers=['Jen'、'Greg'、'Sarah'、'Allan'、'Bob']
我可能会从投票人的角度来处理这个问题:
问题是:
这只会迭代结果,即那些已经参加投票的名字。因此,您需要对还没有结果的
poll_takers
进行迭代这里有一个提示:
相关问题 更多 >
编程相关推荐