而循环阶乘不使用休息



我是几天前开始python的初学者。我正在编写一个代码来学习和获取阶乘。我想编写一个代码以终止程序时终止程序(没有break语句),但是下面的代码几个小时都没有进展。我希望你可以帮助我!此代码有效,但是我要满足的条件不是使用休息,而是要退出程序,如果输入负数

代码>>

def factorial(n):
    if n == 1:
        return 1
    return n * factorial(n - 1)
while True:
    num = int(input("Enter a number: "))
    if num < 0:
        continue
    print(str(num) + "! =", factorial(num))

也许:

num = <any positive number>
while num >= 0:
    ...