当前位置: 首页 > 面试题库 >

Python:Int()Base 10的无效文字

危阳
2023-03-14
问题内容

我正在为某个项目编写代码来确定信用卡的有效性,但是我碰壁了,看来到目前为止我尝试过的所有方法都没有用。

这给了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<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: '#'

问题答案:

好吧,无论您输入什么内容,实际上都不是以10为底的数字。这包括非数字字符或空格的任何内容。所以不要输入。:-)

例子:

>>> int('04.9')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '04.9'

>>> int('4-')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '4-'

>>> int("Jack")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'Jack'

更新:是的,您键入了“#”。这不是有效数字。



 类似资料:
  • 问题内容: 我需要一些帮助,因为这是我第一次编码密码。 加密代码似乎可以正常工作,但是解密会引发错误。 我得到的错误是: de.flexiprovider.api.exceptions.BadPaddingException:无效的密文 在代码末尾的 解密函数中 ,该标记为注释 //这里抛出错误!.................................... 我已包括所有进口商品,请原谅

  • 问题内容: 我有一个读取温度数据的脚本: 有时,脚本在将值转换为float的行上失败: get_temp 数据中的文件“ ./projector.py”,第129行[ch] = float(temp) ValueError:float()的无效文字:+ 135.057E + 0 + 078.260E + 0 +00029 但这不是无效的文字。如果我将其输入任何python shell中, 那么它会

  • 问题内容: 我编写了一个程序来求解,然后将其投影在图形上。问题是,每当出现错误时: ValueError:int()以10为底的无效文字。 有什么建议? 这是回溯: 每当我输入一个小于1但大于0的数字时,就会出现问题。在此示例中为0.3。 这是我的代码: 问题答案: 您的回溯告诉您采用整数,您试图给出一个十进制数,因此您需要使用: 这应该按预期工作: 计算机以各种不同的方式存储数字。Python有

  • 问题内容: 如果我想创建一个保证不代表文件名的字符串,则可以在Windows上输入以下字符之一: 例如 在Linux上是否有任何方法可以将字符串标识为“不可能是文件”? 问题答案: 几乎没有任何限制-除和之外,您都可以使用任何东西。但是,有些人认为允许这么多的灵活性不是一个好主意。

  • 问题内容: 下载并编译了glibc-2.13。当我尝试运行执行malloc()的示例C程序时。我收到以下错误 任何人都可以通过我的任何指针来解决此问题。请注意,我的内核版本是linux-2.6.35.9 问题答案: 问题不是您的内核版本。 您系统上的加载程序不支持新的ABI。直到最近,Linux ELF二进制文件仍使用ABI。最近,为了支持STT_GNU_IFUNC,添加了ABI。您将必须更新 系

  • 问题内容: 我正在创建一个读取文件的程序,如果文件的第一行不为空白,它将读取接下来的四行。在这些行上执行计算,然后读取下一行。如果该行不为空,则继续。但是,我收到此错误: 它正在读取第一行,但无法将其转换为整数。 我该怎么做才能解决此问题? 代码: 问题答案: 仅作记录: 我在这里…