【问题标题】:Function first_name and last_name coursera函数 first_name 和 last_name coursera
【发布时间】:2021-10-22 18:48:11
【问题描述】:

我在我的评估中坚持使用我的代码。我已经通过了足够的分数,但我不想留下任何关于失败的问题——为了我自己的学习。 我想得到所有的语句,除了最后一个,如果名字和姓氏都是黑色的,输出应该是空的。但我仍然得到 Name - 这个词根本不应该在那里。

非常感谢!

   # code goes here
 if len(first_name)==0:
   string="Name: "+last_name
   
 elif len(last_name)==0:
   string="Name: "+first_name

 elif len(last_name)==0 and len(first_name)==0:
   string=""    

 else:
   string="Name: "+last_name+", "+first_name

 return string 

print(format_name("Ernest", "Hemingway"))
# Should return the string "Name: Hemingway, Ernest"

print(format_name("", "Madonna"))
# Should return the string "Name: Madonna"

print(format_name("Voltaire", ""))
# Should return the string "Name: Voltaire"

print(format_name("", ""))
# Should return an empty string

Name: Hemingway, Ernest
Name: Madonna
Name: Voltaire
Name: 

【问题讨论】:

    标签: python string function if-statement


    【解决方案1】:

    出了什么问题

    你不可能达到len(last_name)==0 and len(first_name)==0:的条件。

    这是因为您的第一个条件: if len(first_name)==0: 或您的第二个条件:elif len(last_name)==0: 在到达之前始终为真。

    一个简单的修复

    这里的简单解决方案是将更复杂的条件作为 if,elif,else 链中的第一个条件。

    【讨论】:

    • 非常感谢。我把最后一个条件放在顶部,它起作用了:)
    【解决方案2】:

    if-elif-else 语句在第一个满足条件时退出。因此,您应该明智地定义条件的顺序

    【讨论】:

    • 非常感谢。我把最后一个条件放在顶部,它起作用了:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-13
    • 2017-10-12
    • 2019-04-16
    相关资源
    最近更新 更多