如何获得此Python代码以正确执行?

问题描述

以下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)

解决方法

这有效:

    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)

,

=+必须为+=,有些==应该为!=,反之亦然。

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