Function first_name and last_name coursera



我被我的评估代码卡住了。我已经通过了足够的分数,但我不喜欢留下任何问题不及格-为了我自己的学习。我设法得到了所有的语句,除了最后一个语句,如果名字和姓氏是黑色的,输出应该是空的。但是我仍然得到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: 

怎么了

你不可能达到len(last_name)==0 and len(first_name)==0:.

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

一个简单的修复

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

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

相关内容

  • 没有找到相关文章

最新更新