favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}
for name, language in favorite_languages.items():
print(name.title() + "'s favorite language is " +
language.title() + ".")
print("\n")
coders = ['phil', 'josh', 'david', 'becca', 'sarah', 'matt', 'danielle']
for coder in coders:
if coder in favorite_languages.keys():
print("Thank you for taking the poll, " + coder.title() + "!")
else:
print(coder.title() + ", what's your favorite programming language?")
以上为官方标准答案,可是根据该答案,其实并非正确答案,因为书中的提问是:
创建一个应该会接受调查的人员名单,其中有些人已包含在字典中,而其他人未包含在字典中.
遍历这个字典,对于已参与调查的人,表示感谢/对于未参与调查的人,打印一条消息邀请他参与调查.
加粗字体我的理解是,这个调查人员名单列表,里面有包含在字典中的人,也有未包含在字典中的人,但是这份调查名单内的人都应该被邀请参与调查
而根据上面的官方正确答案,其实发现他只调查了未包含在字典中的人,对于已包含在字典中的人,都表示了感谢
搞得我绕了好久,最终实在不得其解跑去翻答案,原本以为有惊喜的
1 条评论
#coding:gbk
用户 = {
'username' : 'NG',
'password' : '123456',
'logintime' : '2018/11/4',
}
for i, k in 用户.items():
print(i+':'+k)#Python当前3.7版本已更新,输出会按照顺序进行,书本中不按顺序输出的说明已经过时
favorite_languages = {
'jen':'python',
'sarah':'c',
'edward':'ruby',
'phil':'python',
}
friends = ['sarah','edward']
for name in favorite_languages.keys():#提醒:容易错误的地方为keys,注意这里是keys 不是key
print(name)
if name in friends:
print('hi,'+name+',i see your favorite languages is: ' +
favorite_languages[name]+'.')
if 'ng' not in favorite_languages.keys():
print('\nNG,please take our poll!')
for name in sorted(favorite_languages.keys()):
print(name.title()+',thank u for taking the poll!')#注意:书本中的sorted
#是按顺序遍历字典中的所有键,可是3.7版本开始python默认按顺序输出,于是这里的sorted
#实际上变成了按字母顺序排列了.
#print('\n',favorite_languages.values())#方法values()只输出所有值,并不输出键.
print('the following languages have been mentioned:')
for language in set(favorite_languages.values()):
print(language)
print('\n')
朋友={
'jen':4,
'lee':3,
'lilei':7,
'2b':14,
'ng':5,
}
for i,num in 朋友.items():
print(i+' love num is:',num)
#print(朋友) 6.3改写为6.4的作业
print('\n')
#试一下,感觉最后6-3这道题还是有必要做的
词汇表={
'str':'str表示的是字符串',
'list':'list表示的是列表',
'del':'del用作永久删除',
'for':'for循环可用于遍历整个列表',
'set':'set表示一个集合,但每个元素都必须是独一无二的.',
'keys':'keys()表示键,且不包含值',
'values':'values表示值,且不包含键',
}
for w,e in 词汇表.items():
print(w+': '+e)
#习题6-6
favorite_languages = {
'jen':'python',
'sarah':'c',
'edward':'ruby',
'phil':'python',
}
poller=['young','phil','呼哈哈','铁铲大侠']
for name in poller:
if name in favorite_languages.keys():
print('你好,'+name.title()+' 感谢您参与调查!')
else:
print('请问您的调查问卷呢? '+name.title())
#这逻辑,由于练习的不够,参照上面思考了良久才发现绕了一个圈.