for循环语法中的嵌套if语句

2024-06-16 12:31:58 发布

您现在位置:Python中文网/ 问答频道 /正文

在使用dictionary循环时,我想包含一个if语句来检查开发人员是否有多个最喜欢的语言,并将该语句修改为复数。有人能帮我学一下语法吗?你知道吗

favorite_languages = {
'jen': ['python','ruby']
'sarah': ['c'],
'edward': ['ruby','C++'],
'phil': ['python'],
}

    for name, language in favorite_languages.items():
        print(name.title() + "'s favorite language is " +
        language.title() + ".")

Tags: name语言dictionaryiftitle开发人员语法语句
3条回答

添加if语句:

favorite_languages = {
    'jen': ['python', 'ruby'],  # forgot comma here
    'sarah': ['c'],
    'edward': ['ruby', 'C++'],
    'phil': ['python'],
}

for name, languages in favorite_languages.items():  # lost indentation here
    if len(languages) > 1:
        print('{}\'s favorite languages are {}.'.format(name.title(), ", ".join(languages)))
    else:
        print('{}\'s favorite language is {}.'.format(
            name.title(), 
            languages[0].title(),
        ))

这就是你想要的:

        print('{}\'s favorite ' +('language is' if len(language.title()==1) else'languages are')+ '{}.'.format(

我写这个有点快,我不知道字典是怎么工作的,所以如果这是不正确的,请让我知道。你知道吗

这里有一种使用str.format的方法。你知道吗

favorite_languages = {'jen': ['python','ruby'],
                      'sarah': ['c'],
                      'edward': ['ruby','C++'],
                      'phil': ['python']}

for name, language in favorite_languages.items():
    print("{0}'s favorite language{1} {2}".format(name.title(),
          's are' if len(language)>1 else ' is', ' and '.join(language)))

结果:

Jen's favorite languages are python and ruby
Sarah's favorite language is c
Edward's favorite languages are ruby and C++
Phil's favorite language is python

相关问题 更多 >