Я пишу код для проекта, чтобы определить действительность кредитных карт, и я ударил стену, кажется, что все вещи, которые я пробовал до сих пор, не являются за работой.Python: Invalid Literal for Int() Base 10
Это дает мне ошибку для функции sumofodds где J = INT (карта [я])
Ошибка является «Invalid Буквальное для Int() с основанием 10
Есть ли кто-нибудь, что может дать мне несколько advce?
def sumofdoubles():
card=input()
x=len(card)
summ=0
for i in range(x-2,-1,-2):
j=int(card[i])
u=j+j
if u>9:
h=u/2
summ=summ+h
return(summ)
def sumofevens():
card=input()
x=len(card)
summ=0
for i in range(x-2,-1,-2):
j=int(card[i])
u=j+j
if u<9:
summ=summ+u
return(summ)
def sumofodds():
summ=0
card=input()
x=len(card)
for i in range(x-1,-1,-2):
j=int(card[i])
summ=summ+j
return(summ)
def main():
card=input()
length=len(card)
summ=0
while(card!="#####"):
if (card[0]=='4' or card[0]=='5' or card[0]=='6' or (card[0]=='3' and card[1]=='1')):
dbls=sumofdoubles()
evens=sumofevens()
odds=sumofodds()
if((dbls+evens+odds)%10==0):
print("Valid")
main()
Это полная отслеживающий для тех, кому интересно
python test.py<s.input
File "test.py", line 52 in <module>
main()
File "test.py", line 48, in main
odds=sumofodds()
File "test.py", line 33, in sumofodds
j=int(card[i])
ValueError: invalid literal for int() with base 10: '#'
Что полный отслеживающий? Что вы вводите в консоль? – Blender
Ну, на одном из '' j = int (card [i]) '' вызывает вход (т. Е. I-й символ карты) не является допустимым целым числом. Я предполагаю, что это тире или пробел, любой из которых даст эту ошибку. Без подробностей точно сказать точно. – Blair
похоже, что вы набрали '#', который не является числом ... –