У меня есть синтаксические ошибки, и я не уверен, как их исправить - PullRequest
0 голосов
/ 02 марта 2020

В строке 4 есть синтаксическая ошибка, и я не уверен, как ее исправить.

def is_prime(num):
  isPrime = True
  for i in range(-1, num, 2):
    if num % i = 0:
      isPrime = False
  return isPrime
def main():
  for i in range(1,101):
    if isPrime(i) == True:
      print(i,"is a prime number")
main()

Ответы [ 2 ]

0 голосов
/ 02 марта 2020
num % i = 0

= - это присвоение .

Вы присваиваете 0 для num % i, что невозможно, поскольку вы можете назначить значение только для переменная , а не выражение.

Вы хотите проверить, равно ли выражение 0. Для этого вам нужно использовать == вместо =.

Измените его на

num % i == 0

В строке

isPrime(i) == True

, которую вы тестируете правильно.

0 голосов
/ 02 марта 2020
...
if num % i == 0:
...

Здравствуйте, Филипп, строка выше проверяет равенство (==) вместо присваивания (=). Мы бы хотели помочь, но stackoverflow не является сервисом отладки. Пожалуйста, сначала прочитайте основы, затем найдите похожие вопросы, а затем обратитесь за помощью.

...