几天不敲,又忘了代码怎么写了,再次打开书继续第六章的学习。
练习到6-6,又卡(qia)壳了。
原题
6-6 调查:在6.3.1 节编写的程序favorite_languages.py 中执行以下操作。
创建一个应该会接受调查的人员名单,其中有些人已包含在字典中,而其他人
未包含在字典中。
遍历这个人员名单,对于已参与调查的人,打印一条消息表示感谢。对于还未
参与调查的人,打印一条消息邀请他参与调查。
- 循环嵌套
仔细看题其实就知道这是个循环嵌套,字典和列表的嵌套,主要要抓住的核心问题是谁嵌套谁,折腾了半天想明白了,要打印的是人员列表,即所有列表人员都要打印。
也就是说外循环是人员列表
for person in persons:
内循环是字典
for key in favorite_languages.keys():
-
打印内容
打印输出内容也是让我思考良久,小白就是小白,没辙。
最后想到的方法是找一个集体出口,words来实现打印,如遇到匹配那么终端此次内部循环,break整体思路基本理清,源码如下。
源码
favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python'
}
persons = ['111','345','jen','yyq','xyz','phil']
words = ""
# print(key)
# print("-------")
for person in persons:
for key in favorite_languages.keys():
# print("----------------")
# print(person)
# print(key)
# print("----------------")
if key in person:
words = (key+",非常感谢您接受我们的调查.")
break
else:
words = ("诚挚的邀请您接受我们的调查"+person)
# print(key+" not exists")
print(words)
# print("----------------------------")
代码结果:
诚挚的邀请您接受我们的调查111
诚挚的邀请您接受我们的调查345
jen,非常感谢您接受我们的调查.
诚挚的邀请您接受我们的调查yyq
诚挚的邀请您接受我们的调查xyz
phil,非常感谢您接受我们的调查.
小白学习中,如有不足及需要改进的地方,请多多指教。