以下Python代码不起作用,我不确定原因,也不确定如何纠正它。预先感谢!
当数字是三的倍数时,代码应打印单词“ fizz” 当数字是五的倍数时,打印单词“ buzz” 当数字是三和五的倍数时,显示“ fizzbuzz”一词
for number in range(1, 100):
message = ''
if number % 3 != 0:
message =+ "Fizz"
if number % 5 != 0:
message =+ "Buzz"
if number % 5 == 0 or number % 3 != 0:
number =+ str(number)
print(message)
答案 0 :(得分:1)
这有效:
for number in range(1, 100):
message = ''
if number % 3 != 0:
message += "Fizz"
if number % 5 != 0:
message += "Buzz"
if number % 5 == 0 or number % 3 != 0:
message += str(number)
print(message)
=+
应该是+=
,python使用缩进来分隔代码块,我认为那时的number =+ str(number)
应该是message += str(number)
答案 1 :(得分:1)
=+
必须为+=
,有些==
应该为!=
,反之亦然。
for number in range(1, 100):
message = ''
if number % 3 == 0:
message += "Fizz"
if number % 5 == 0:
message += "Buzz"
if number % 5 != 0 and number % 3 != 0:
message += str(number)
print(message)
此外,这可以向下压缩:
for number in range(1, 100):
message = ''
message += "Fizz" if number % 3 == 0 else ''
message += "Buzz" if number % 5 == 0 else ''
print(message if message else number)
另一件事是range(1, 100)
不包含100,因此如果要包含100,则需要将其更改为101