求一个正整数的所有因数,python题

求一个正整数的所有因数,正整数通过input函数输入,不需要任何提示信息,输出结果为每个数字占一行,中间不要有空行除,此外不要输出任何内容.

代码如下,如有帮助请点击一下采纳谢谢:

import math


def factor(num):
    factors = []
    for_times = int(math.sqrt(num))
    for i in range(for_times + 1)[1:]:
        if num % i == 0:
            factors.append(i)
            t = int(num / i)
            if not t == i:
                factors.append(t)
    return factors

num=int(input())
f=factor(num)
f.sort()
for x in f:
    print(x)