马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
class Solution(object):
def fizz_buzz(self, num):
if num == None:
raise TypeError('hahah')
if num < 1:
raise ValueError('heiheih')
result = []
for i in range(1, num+1):
if i % 3 == 0 and i % 5 == 0:
result.append('FizzBuzz')
elif i % 5 == 0:
result.append('Buzz')
elif i % 3 == 0:
result.append('Fizz')
else:
result.append(str(i))
return result
我自己写的是把if i % 3 == 0 and i % 5 == 0:放在第三个位置上了,所以当num能被3和5同时整除的时候只返回了Fizz.
请问判断条件的设置有什么规则吗?
肯定有先后呀,你的 i % 3 == 0 这个条件是 i % 3 == 0 and i % 5 == 0 这个条件的子集呀,满足 i % 3 == 0
可是不一定满足 i % 3 == 0 and i % 5 == 0 呀,如果你判断 i % 3 == 0 或者 i % 5 == 0 在 i % 3 == 0 and i % 5 == 0 之前,那么 这个条件永远不会被执行到
因为在 if-elif 下只要有一个条件成立,其他条件就不在执行
|