[Python] 我怎樣才能讀取輸入為整數?


Answers

在Python 3.x中, raw_input被重命名為input ,Python 2.x input被刪除。

這意味著,就像raw_input一樣,Python 3.x中的input總是返回一個字符串對象。

要解決這個問題,你需要通過將這些輸入置於int中來將這些輸入顯式地變為整數:

x = int(input("Enter a number: "))
y = int(input("Enter a number: "))

另外,Python不需要/使用分號來結束行。 所以,讓他們沒有做任何積極的事情。

Question

為什麼這個代碼不輸入整數? 網上的所有內容都說使用raw_input() ,但是我在(在一個不涉及整數輸入的線程上raw_input()讀取raw_input() input()在Python 3.x中重命名為input()

play = True

while play:

    x = input("Enter a number: ")
    y = input("Enter a number: ")

    print(x + y)
    print(x - y)
    print(x * y)
    print(x / y)
    print(x % y)

    if input("Play again? ") == "no":
        play = False



在解決CodeChef上的一個問題時,我遇到了一個整數輸入的問題,應該從一行讀取兩個整數(用空格分隔)。

雖然int(input())對於一個整數是足夠的,但我沒有找到直接輸入兩個整數的方法。 我試過這個:

num = input()
num1 = 0
num2 = 0

for i in range(len(num)):
    if num[i] == ' ':
        break

num1 = int(num[:i])
num2 = int(num[i+1:])

現在我使用num1和num2作為整數。 希望這可以幫助。




input() (Python 3)和raw_input() (Python 2) 總是返回字符串。 用int()將結果轉換為整數。

x = int(input("Enter a number: "))
y = int(input("Enter a number: "))

專業提示:Python中不需要分號。




默認情況下,輸入函數將輸入作為字符串格式

對於其他數據類型,您必須投入用戶輸入

在Python 2中,我們使用raw_input()函數。 它等待用戶鍵入一些輸入並按回車鍵,我們需要通過將其轉換為我們期望的數據類型將值存儲在變量中。 使用類型鑄造時要小心

x = raw_input("Enter a number: ") #String input
x = int(raw_input("Enter a number: ")) #integer input 
x = float(raw_input("Enter a float number: ")) #float input 
x = eval(raw_input("Enter a float number: ")) #eval input

在Python 3中,我們使用返回用戶輸入值的input()函數

x = input("Enter a number: ") #String input

如果你輸入一個字符串,int,float,eval,它將作為字符串輸入

x = int(input("Enter a number: ")) #integer input 

如果為int輸入一個字符串ValueError:int()的基數為10的無效字面量:

x = float(input("Enter a float number: ")) #float input

如果為float類型輸入字符串ValueError:無法將字符串轉換為float

x = eval(input("Enter a float number: ")) #eval input

如果你為eval強制輸入一個字符串

NameError:名稱''未定義

那些錯誤也適用於python 2




def dbz():
    try:
        r = raw_input("Enter number:")
        if r.isdigit():
            i = int(raw_input("Enter divident:"))
            d = int(r)/i
            print "O/p is -:",d
        else:
            print "Not a number"
    except Exception ,e:
        print "Program halted incorrect data entered",type(e)
dbz()

Or 

num = input("Enter Number:")#"input" will accept only numbers



雖然在你的例子中, int(input(...))在任何情況下都會訣竅, python-futurebuiltins.input值得考慮,因為它確保你的代碼適用於Python 2和Python 3, 禁用Python 2的默認行為的input試圖對輸入數據類型“聰明”( builtins.input基本上就像raw_input一樣)。




轉換為整數:

my_number = int(input("enter the number"))

對於浮點數也是如此:

my_decimalnumber = float(input("enter the number"))





Links