簡體   English   中英

python無效的文字錯誤

[英]python invalid literal error

所以我有這個代碼

data = input()
m = data.split(',')

for i in range(0, len(m)):

    print(int(m[i]) )

但是當我運行它並鍵入“1,2,3”時,我收到此錯誤:

    print(int(m[i]))
ValueError: invalid literal for int() with base 10: '"1'

我做錯了什么?

使用python 3

當您擁有代碼時,您輸入的輸入應該是以逗號分隔的數字。 您不必包含引號,只需輸入1,2,3 只有在編寫實際代碼編寫字符串文字時才需要引號。 在這種情況下,您只是在輸入,它已經是字符串。

問題是你輸入的字面意思是"1,2,3" ,它試圖解析字符串中的第一個int, "1無效。

看來你輸入了文字引號( " )作為輸入的一部分; int()不知道如何解析它們。你需要先將它們剝離出來:

data = input().strip('"')

看起來你的輸入中有一個額外的"字符int()只會轉換由所選基數中的數字組成的字符串(默認基數為10,所以它接受[0-9])。如果字符串輸入中出現任何其他字符,它引發了這個錯誤。

您輸入的input

"1,2,3"

適用於Python 2 input Python 3 input類似於Python 2 raw_input ,它的所有輸入都被認為是一個字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM