qq_37198052 2018-11-13 06:39 采纳率: 0%
浏览 1144
已结题

新手关于len()问题,请求解答

favorite_languages={
'jen':['python','ruby'],
'sarah':['c'],
'edward':['ruby','go'],
'phil':['python','haskell'],
}
for name,languages in favorite_languages.items():
print("\n"+name.title()+"'s favorite languages are:")
for language in languages:
print("\t"+language.title())

#if str(len('sarah'))==1:
print("Sarah's favorite language is C.")

    要求在for循环开头添加一条if语句,通过查看len(languages)的值来确定当前的被调查对象喜欢的语言是否多种,如果喜欢多种,就像以前一样显示输出;如果就一种,就相应的修改措辞,显示Sarah's favorite language is C.

    我不知道这句话如何去理解,if后面如何对一个字典中的值列表进行确认数字!求大神能给与解答~(上面带#是我自己的理解,但是执行的时候什么都不显示,编译是成功的!估计还是有问题)

对于键-值对 单独显示 我不知道是否这样的语句是就省略的~
for name,languages in favorite_languages.items():
for language in languages:
print("\t"+language.title())

for language in favorite_languages.keys():
print(language.title())

  • 写回答

2条回答

  • Italink 2018-11-13 08:42
    关注

    我懂你的意思了,你是想区分is和are,对吧,可以这样改,排版我帮你做了一点修改

    favorite_languages={
    'jen':['python','ruby'],
    'sarah':['c'],
    'edward':['ruby','go'],
    'phil':['python','haskell'],
    }
    for name,languages in favorite_languages.items():
        print("\n%40s" % (name.title()+"'s favorite languages"),end="")
        if(len(languages)==1):
            print(" is :",end=" ");
        else:
             print(" are:",end=" ");
        for language in languages:
            print(language.title(),end="\t")
    

    图片说明

    评论

报告相同问题?

悬赏问题

  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿