如何用循环编写函数

时间:2019-04-14 12:17:42

标签: python python-3.x

我刚刚开始学习python,所以非常新,我陷入了要为其做作业的问题。我希望能对此有所帮助。 问题如下:

我必须编写一个名为“ halve_to_2”的函数,该函数仅接受1个数字输出。 如果数字<= 0,则返回-1 如果数字> 0,则将该整数除以2,直到小于2。 您必须退回小于2的数字

现在我确实可以解决这个问题,但是当它返回(-1)到无穷大并且我的PC内存不足时,出现了一些错误。

我的尝试如下所示,而且是局部的(我知道我什至还没有结合第二部分,而这一部分会不断分裂),但是希望在可能的情况下让某人提供正确的输出。

我的尝试

def halve_to_2( num ):
    while num /2 <= 0:
           return(num)

    while true:
        return(-1)
k=5
print (halve_to_2(k))

谢谢

Surien

1 个答案:

答案 0 :(得分:0)

while num/2 <= 0:
    return (num/2)

只会在第一次迭代中返回num/2的值。仅在num/2小于2时才需要返回该值:

def halve_to_2(num):
    while True:
        num = num / 2.0
        if num < 2:
            return num

num为负数时,您似乎可以自己找出另一种情况。