2017-05-02 35 views
-3

作爲一個新的Python程序員。我嘗試自己創建和解決問題。我使用Python 3如何獲取整數?

下面的代碼:

def next(): 
    print ("how_much="), 
    if input = 50: 
     print("Nice, you're not greedy, you win"), 
    else: 
     print("You greedy bastard!") 

我想要的值轉換爲整數,並打印「好,你不貪,你贏了」,如果數字是50,否則打印「很好,你不貪心,你贏了」。

我啓發基於此代碼來創建上面的代碼:

def is_int(x): 
    print round(x), 
    if x == round(x): 
     print 'True', 
    else: 
     print 'False' 

is_int(7.0) # True 
is_int(7.5) # False 
is_int(-1) # True 
+1

1.使用'=='進行比較,使用'='進行賦值2.您正在對函數'next'進行遮蔽3.在'True'之後有一個不必要的尾隨逗號。但最重要的是不清楚你的問題是什麼。 – CoryKramer

+0

我有點困惑。你需要使用'input'(或者Python 2.7的'raw_input')來讓用戶能夠與你的程序交互('print'不允許他們響應)。你也有'if how_much = 50:'這會失敗,因爲你需要使用'=='進行比較。你的'is_int()'代碼似乎是你想做的。你究竟在問什麼,毫無疑問,只是一個聲明? – roganjosh

回答

-1

你只需要添加int()轉換爲整數,並改變「=」(分配),以「==」(比較)

def next_int(x) 
    input = int(x) # convert string to integer 
    if input == 50: 
     print("Nice, you're not greedy, you win") 
    else: 
     print("You greedy bastard!") 
+0

原始帖子中沒有實際的問題,我不確定這是什麼地址。此外,這段代碼有多個錯誤('print(「多少:」+ x)'沒有任何用處,因爲它沒有引發用戶的響應)。 – roganjosh

+0

是的,原帖非常模糊。但基於OP所使用的代碼,它看起來並不像他需要從用戶那裏獲得輸入 - 所提到的功能也不會接受來自用戶的任何輸入。但我明白你的觀點。 – WhoKnows

+0

所有我試圖做的是,如果next_int(50)它會打印出「Nice,you not greedy,you win」,否則它會打印出「你貪婪的混蛋!」 –

1
如果你想找出一個變量是一個int你可以做到這一點

: (適用於Python 2.7版,檢查3 ..)

def is_int(x): 
    return type(x) == int