Python我想无限期地重复一个函数

Python我想无限期地重复一个函数,python,python-3.x,Python,Python 3.x,所以我正在做一些关于python的练习,我的任务是创建一个可以接受一个数字的程序,如果它是一个偶数,则将其除以2。或者取这个数字,乘以3,再加1。它应该请求一个输入,然后等待另一个输入 所以我的代码是这样的,请注意,我对这一切都是新手 print('Please enter a number:') def numberCheck(c): if c % 2 == 0: print(c // 2) elif c % 2 == 1:

所以我正在做一些关于python的练习,我的任务是创建一个可以接受一个数字的程序,如果它是一个偶数,则将其除以2。或者取这个数字,乘以3,再加1。它应该请求一个输入,然后等待另一个输入

所以我的代码是这样的,请注意,我对这一切都是新手

print('Please enter a number:')

def numberCheck(c):
        if c % 2 == 0:
            print(c // 2)
        elif c % 2 == 1:
            print(3 * c + 1)
c = int(input())

numberCheck(c)
我希望它只打印一次“请输入一个数字”。但在运行之后,我希望它等待另一个号码。我该怎么做

我尝试了一个for循环,但它使用了一个范围,我不想设置一个范围,除非有一种方法可以将其设置为无穷大


谢谢你的帮助

所以我的理解是您希望函数无限期运行。这是我的方法,通过使用while循环

print("Enter a number")

while True:
  c = int(input(""))
  numberCheck(c)

您可以使用
while
循环和
True

为True时:
c=int(输入())
编号检查(c)

如果要运行无限循环,可以使用while循环

print('Please enter a number:')

def numberCheck(c):
        if c % 2 == 0:
            print(c // 2)
        elif c % 2 == 1:
            print(3 * c + 1)
            
while True:
    c = int(input())
    numberCheck(c)


所以,我在想你目前的困境,但我也很好奇。您使用楼层划分有什么原因吗?
而True
是您的朋友。另外,由于您似乎是Python初学者,我可以建议您使用PEP8命名样式吗?ie no
camelCase
names,而是
snake\u case
我不知道,这只是本书的第3章,我正在按照告诉的那样做。如果您使用的是Python 3.9或更高版本,请使用
while(c:=int(input()):numberCheck(c)
来获得一个无限循环:它应该是
while True:
(大写t)@Slakker好吧,这不是小问题!非常好!谢谢。当我尝试while循环时,我把while True放在了错误的位置,因为我没有得到预期的结果,但现在我确实明白了为什么这会起作用,为什么你说它没有内存效率?如果我正确理解垃圾收集,内存不应该在这里积累这是一个误解从我这里