Python将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

def SlowSnail(n):
    while n != 1:  # 循环保证递归
        for index in range(2, n + 1):
            if n % index == 0:
                n //= index  # n 等于 n//index
                if n == 1:
                    print(index)
                else:
                    print('%s *' % index, end=" ")
                    # 普通的print('%s*' % index)会让每一次输出都在下一行
                    # 把end设置成空格可以让输出都在同一行,因为end默认为换行
                break


while 1:
    n = int(input('请输入一个正整数:'))
    if n == -1:  # 设置退出循环条件
        break
    while n <= 0:  # 设置输入错误条件
        n = int(input('输入错误,请重新输入:'))
    SlowSnail(n)  # 调用函数

posted @ 2022-04-21 14:13  放氮气的蜗牛  阅读(159)  评论(0编辑  收藏  举报  来源