Python 3.x 第三行是';我不知道为什么才出现

Python 3.x 第三行是';我不知道为什么才出现,python-3.x,Python 3.x,输出: import time import math for i in range(9): if math.remainder(i, 3) == 0: print('Processing.') time.sleep(0.5) elif math.remainder(i, 3) == 1: print('Processing..') time.sleep(0.5) elif math.remainder(i, 3) == 2: print('P

输出:

import time
import math
for i in range(9):
  if math.remainder(i, 3) == 0:
    print('Processing.')
    time.sleep(0.5)
  elif math.remainder(i, 3) == 1:
    print('Processing..')
    time.sleep(0.5)
  elif math.remainder(i, 3) == 2:
    print('Processing...')
    time.sleep(0.5)
我做错了什么?为什么三个“s”的那一行不出现?怎么了

Processing.
Processing..
Processing.
Processing..
Processing.
Processing..

我可以尝试如何解决此问题?

此代码有效,因此它可能是一个
math.rements()
问题

Processing.
Processing..
Processing...
Processing.
Processing..
Processing...
Processing.
Processing..
Processing...
如果您不熟悉mod,它意味着查找余数。

数学。余数(2,3)
返回
-1.0
,因为它返回最接近的整数倍数的差,而不是尽可能高的整数倍数后的剩余值(它不是学校通常教授的“余数”)。这很少是你想要的。只需使用操作员表单:

import time
for i in range(9):
  if i%3 == 0:
    print('Processing.')
    time.sleep(0.5)
  elif i%3 == 1:
    print('Processing..')
    time.sleep(0.5)
  elif i%3 == 2:
    print('Processing...')
    time.sleep(0.5)

请注意,最后的测试是不必要的,因为
i
始终是
int
,并且前两个测试排除了所有其他选项,因此您可以将
elif i%3==2:
替换为
else:
,谢谢您解决了我的问题。基本上有三种解决方法:i%3==2:;数学余数(i,3)=-1:;我明白了。从上面的回答中,我了解到math.rements给出了最接近的整数,其中包括负整数。谢谢你的回复。
for i in range(9):
  if i % 3 == 0:
    print('Processing.')
    time.sleep(0.5)
  elif i % 3 == 1:
    print('Processing..')
    time.sleep(0.5)
  elif i % 3 == 2:
    print('Processing...')
    time.sleep(0.5)