Chcę znaleźć czynniki pierwsze dla 13195.
for num in range(1,13196):
x = 13195/num
Chcę, żeby x zapisywał tylko liczby całkowite. Próbowałem już is.integer i ciągle dostaję błędy składniowe.
Odpowiedzi:
4 dla odpowiedzi № 1Możesz użyć operator modulo aby sprawdzić, czy liczba jest dzielona równomiernie, a następnie ustaw tylko x równą jej wartości. Na przykład.:
for num in range(1,13196):
if 13195 % num == 0:
x = int(13195/num)
print(x)
co daje:
13195
2639
1885
1015
455
377
203
145
91
65
35
29
13
7
5
1
3 dla odpowiedzi № 2
Próbowałem już is.integer i ciągle dostaję błędy składniowe.
Sprawdzana jest metoda sprawdzania, czy zmienna jest liczbą całkowitą is_integer()
nie is.integer()
, alternatywnie możesz to zrobić:
for num in range(1,13196):
x = 13195/num
if x.is_integer():
print(num)
Lub przez dodanie nawiasów:
for num in range(1,13196):
if (13195/num).is_integer():
print(num)