Я пишу код для определения простых и не простых чисел в данном списке.Идея заключалась в том, чтобы использовать вложенный цикл for
, который выполняет итерацию по списку и проверяет его по числу в диапазоне от 2
до n-1
, где n
- это проверяемое число.
К сожалению, код, который я придумываю при выполнении, не дает ожидаемого результата, и я, кажется, не могу найти, почему.
check_prime = [26, 39, 51, 53, 57, 79, 85]
## write your code here
## HINT: You can use the modulo operator to find a factor
for number in check_prime:
for x in range (2,number-1):
if (number %x) ==0:
print("{} is not a prime because {} is a factor of {}".format(number,x,number))
break
elif x == number-1:
print ("{} is a prime number".format(number))
Я бы ожидал получить вывод для каждого значения с любым изпростое или не простое утверждение, но в действительности я получаю только не простые выражения, и даже тогда они ложные:
26 is not a prime because 2 is a factor of 26
39 is not a prime because 3 is a factor of 39
51 is not a prime because 3 is a factor of 51
57 is not a prime because 3 is a factor of 57
85 is not a prime because 5 is a factor of 85
В моей логике, очевидно, есть ошибка, но я ее не вижу.