【发布时间】:2017-01-23 14:38:09
【问题描述】:
我是 Python 编码的初学者,我一直在练习 CodeWars。
这个练习基本上是想让你重新创建 Facebook 上“喜欢”的显示功能,即它如何显示你在帖子中的点赞数等。
这是我的代码:
def likes(names):
for name in names:
if len(names) == 0:
return 'no one likes this'
elif len(names) == 1:
return '%s likes this' % (name)
elif len(names) == 2:
return '%s and %s like this' % (names[0], names[1])
elif len(names) == 3:
return '%s, %s and %s like this' % (names[0], names[1], names[2])
elif len(names) >= 4:
return '%s, %s and %s others like this' % (names[0], names[1], len(names) - 2)
print likes([])
print likes(['Peter'])
print likes(['Alex', 'Jacob', 'Mark', 'Max'])
打印出来:
None
Peter likes this
Alex, Jacob and 2 others like this
我的主要问题是,当参数:[] 为空时,我的第一个“if”语句没有生成字符串“没有人喜欢这个”。有没有办法解决这个问题?
【问题讨论】:
-
它正在返回
None,因为所有不返回任何内容的函数都显式返回None。 -
只需删除带有
for的行就可以了 -
非常感谢大家!
标签: python list function if-statement