/ / Python: tylko zwraca liczby całkowite - python, integer

Python: tylko zwraca liczby całkowite - python, integer

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 № 1

Moż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)