所以我有這樣的代碼蟒蛇無效的文字錯誤
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
所以我有這樣的代碼蟒蛇無效的文字錯誤
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])。如果任何其他字符出現在字符串輸入中,則會引發此錯誤。