2013-11-01 26 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