功能划分,但不在外面。 Python 3.4

时间:2015-12-10 23:50:58

标签: python-3.4

我有一个奇怪的问题。我应该输入一个输入的数字,如果它甚至将它除去,直到它是奇数。但。代码在函数内部和while循环中工作,但是当我尝试返回该值时它不起作用。它只是返回输入的值。

参考代码:

num = int(input("Enter a number."))

def makeodd(num):
    while num % 2 == 0:
        num = num / 2
        print(num)
        return num

makeodd(num)

print(num)

我很抱歉这有点基础。我正在寻找更多的解释,然后是一个真正的解决方案。虽然解决方案会很好。这是python 3.4供参考。我环顾四周但实际上找不到任何类似的东西。

1 个答案:

答案 0 :(得分:1)

makeodd(num)更改为:

num = makeodd(num)

将返回值放入num

您也可以直接在print语句中使用返回值:

print(makeodd(num))