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)

  • 小伍 2018年11月4日 下午10:36

    #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())
    #这逻辑,由于练习的不够,参照上面思考了良久才发现绕了一个圈.