favorite_languages={
'jen':['python','ruby'],
'sarah':['c'],
'edward':['ruby','go'],
'phil':['python','haskell'],
}
for name,languages in favorite_languages.items():
for language in languages:
if str(len(languages))==1:
print("\n"+name.title()+"has "+str(len(languages)+" favorite language.it's "+"\n\t"+language.title())
else:
print("\n"+name.title()+"has "+str(len(languages)+" favorite languages.they are "+"\n\t"+language.title())
1楼说的对啊,就是转字符串的时候 str(len(languages)) 少了个右括号,两个print 语句都少
另外,你的 if 里面用字符串和数字进行比较是几个意思,这不明摆着全为否都走 else 了
favorite_languages = { 'jen': ['python', 'ruby'], 'sarah': ['c'], 'edward': ['ruby', 'go'], 'phil': ['python', 'haskell'], } for name, languages in favorite_languages.items(): for language in languages: if len(languages) == 1: print("\n" + name.title() + "has " + str(len(languages)) + " favorite language.it's " + "\n\t" + language.title()) else: print("\n" + name.title() + "has " + str(len(languages)) + " favorite languages.they are " + "\n\t" + language.title())
print("\n"+name.title()+"has "+str(len(languages))+" favorite languages.they are "+"\n\t"+language.title())
str这里少了个括号