与int相比,Python函数始终返回false

时间:2013-11-01 10:00:20

标签: python python-3.x

from pip.backwardcompat import raw_input
from PFD import *


def getInput():
    try:
        n = raw_input("Please enter the file size: ")
        int(n)
        print(str(n))
        order = raw_input("Please enter a Fib Order [3/4]: ")
        int(order)
    except ValueError:
        getInput()

    if order == 3:
        Fib.three(n)
    elif order == 4:
        Fib.four(n)
    else:
        print("You did something wrong, idiot.")
        getInput()


getInput();

所以这就是问题所在。无论我做什么,它都告诉我,我做错了什么,并称我为白痴。 :(

2 个答案:

答案 0 :(得分:6)

你的行

int(order)
需要将

分配回订单变量,如下所示:

order = int(order)

编辑:正如alKid指出的那样,n:

也是如此
n = int(n)

答案 1 :(得分:2)

在python中,整数是不可变的。因此,当您执行int(n)时,它不会就地更改变量的类型。您必须在n = int(n)电话周围int()raw_input(...换行。

order

的情况相同