этот простой код дает мне сложную синтаксическую ошибку, код делителя - PullRequest
0 голосов
/ 18 января 2020
def main():
    user_number = float(input("Enter a number: "))
    num = user_number//2
    round(num,0)
    int(num)
    print(num)
    divisor = 1
    for divisor in range(divisor,num):
        if num%divisor == 0:
                print(divisor)

while True:
    main()

Синтаксическая ошибка, которую я получаю: TypeError: объект 'float' не может быть интерпретирован как целое число

1 Ответ

0 голосов
/ 18 января 2020

Результатом num = user_number // 2 является число с плавающей запятой.

Вызов round(num, 0) ничего не делает, потому что вы не сохраните результат в переменной num. В любом случае, результат float. Вместо этого вы должны написать num = int(num).

...