文章

关于Python第六章习题6.6答案的错误

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?")

 

以上为官方标准答案,可是根据该答案,其实并非正确答案,因为书中的提问是:

创建一个应该会接受调查的人员名单,其中有些人已包含在字典中,而其他人未包含在字典中.

遍历这个字典,对于已参与调查的人,表示感谢/对于未参与调查的人,打印一条消息邀请他参与调查.

加粗字体我的理解是,这个调查人员名单列表,里面有包含在字典中的人,也有未包含在字典中的人,但是这份调查名单内的人都应该被邀请参与调查

而根据上面的官方正确答案,其实发现他只调查了未包含在字典中的人,对于已包含在字典中的人,都表示了感谢

搞得我绕了好久,最终实在不得其解跑去翻答案,原本以为有惊喜的

原文来自:关于Python第六章习题6.6答案的错误,尊重自己,尊重每一个人;转发请注明来源!
0 0

发表评论

  • 评论1则,共1页,当前第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())
      #这逻辑,由于练习的不够,参照上面思考了良久才发现绕了一个圈.