网络运维培训/宁波网站关键词优化排名
我正在为某个项目编写代码来确定信用卡的有效性,但是我碰壁了,看来到目前为止我尝试过的所有方法都没有用。
这给了sumofodds函数一个错误,其中j = int(card [i])
错误是“无效的文字为Int()与Base 10
有没有人可以给我一些帮助?
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
File "test.py", line 52 in
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: '#'