2013-11-01 25 views
0
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(); 

所以这就是问题所在。不管我做什么,它都告诉我我做错了事,并称我为白痴。 :(与int相比,Python函数总是返回false

回答

6

你行

int(order) 

需要被分配回顺序变量,像这样:

order = int(order) 

编辑:醇酸指出,同为N:

n = int(n) 
+0

相同对于'n'也是一样的。 – aIKid

+0

或者'也许'order = int(raw_input(“请输入Fib Order [3/4]:”))' – devnull

+0

非常棒,谢谢! – Amorphous

2

在Python中,整数是不可变的,因此,当你做int(n)时,它不会改变in-p变量的类型花边。你必须做n = int(n),或者围绕raw_input(...呼叫打包int()

这与order