【问题标题】:Printing singular/plural depending on dictionary value根据字典值打印单数/复数
【发布时间】:2020-10-15 23:41:58
【问题描述】:
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())

output:Jen's favorite languages are:
Python
Ruby

Sarah's favorite languages are:
C
enter code here

Edward's favorite languages are:
Ruby
Go

Phil's favorite languages are:
Python
Haskell

我想显示“莎拉最喜欢的语言是”而不是“是”。无法弄清楚如何编写 if 语句来做到这一点。

【问题讨论】:

    标签: python python-3.x dictionary if-statement


    【解决方案1】:

    尝试以下方法:

    print("\n" + name.title() + "'s favorite language" + 
          ("s are:" if len(languages) > 1 else " is:"))
    

    然后应该打印:

    Jen's favorite languages are:
        Python
        Ruby
    
    Sarah's favorite language is:
        C
    
    Edward's favorite languages are:
        Ruby
        Go
    
    Phil's favorite languages are:
        Python
        Haskell
    

    与您的问题没有直接关系,但不赞成使用 + 连接字符串。有关最佳做法,请参阅 this question

    【讨论】:

      【解决方案2】:

      当前/最佳方式

      for name, languages in favorite_languages.items():
        print()
        if len(languages) > 1:
          print(f"{name}'s favoutire language are")
      
      else:
          print(f'{name} language is')
      
      
      for language in languages:
           print(language)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-09
        • 2021-12-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-23
        相关资源
        最近更新 更多