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演算子の直後の=の割り当てに関しては、これが他の反復シナリオで機能したときに、カウンターと整数の両方に1を追加できない理由がわかりません。

4

3 に答える 3

2

=Pythonでは、との間のスペルミスを避けるために、式内で割り当てを行うことはできません==。したがって、2行でそれを行う必要があります。

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 に答える