0

我正在为 python 中的自学做一个简单的脚本,其中脚本依次找到第 1000 个素数,但出现语法错误。

x = 0
y = 2
counter = x
integer = y
while (counter>999):
      if (y%2 == 0 or y%3 == 0):
          y = y + 1
      else:(counter = counter + 1 and integer = integer + 1)
print (y)    

当涉及到 ELSE 运算符之后的 = 赋值时,我不明白为什么当这在其他迭代场景中有效时它不会让我在计数器和整数中都加一个

4

3 回答 3

2

在 python 中,您不能在表达式中进行赋值,以避免 and 之间的拼写=错误==。因此,您必须分两行执行此操作:

x = 0
y = 2
counter = x
integer = y
while (counter>999):
    if (y%2 == 0 or y%3 == 0):
        y = y + 1
    else:
        counter += 1
        integer += 1
print (y)    
于 2013-01-16T12:57:08.567 回答
0

尝试这个

   else:
      counter = counter + 1
      integer = integer + 1
于 2013-01-16T12:50:13.010 回答
0

在 python 中,对变量的赋值没有布尔值。并且意味着布尔运算符不这样做和这样做。

所以你需要拆分语句。

x = 0
y = 2
counter = x
integer = y
while (counter>999):
    if (y%2 == 0 or y%3 == 0):
        y = y + 1
    else:
        counter += 1
        integer += 1
print (y)
于 2013-01-16T13:05:37.257 回答