Python TypeError:“int”对象不可下标,类型错误

Python TypeError:“int”对象不可下标,类型错误,python,python-3.x,Python,Python 3.x,这是我的第一个stackoverflow线程,我有一个疑问,为什么我的代码做工作和其他没有,似乎是一样的,我将感谢任何回应,谢谢 非工作代码: numero和intcadena不一样吗 谢谢 如果您选择的是一部分cadena和一部分numero,则可以索引为字符串cadena,但不能索引为整数。您不能选择整数的一部分,例如: 您可以从字符串中选择第二个和第三个字母,例如cadena[1:4]==“23”,但不能从整数中选择第二个和第三个字母,例如numero[1:4]==error。整数不是不灵

这是我的第一个stackoverflow线程,我有一个疑问,为什么我的代码做工作和其他没有,似乎是一样的,我将感谢任何回应,谢谢

非工作代码:

numero和intcadena不一样吗


谢谢

如果您选择的是一部分cadena和一部分numero,则可以索引为字符串cadena,但不能索引为整数。您不能选择整数的一部分,例如:

您可以从字符串中选择第二个和第三个字母,例如cadena[1:4]==“23”,但不能从整数中选择第二个和第三个字母,例如numero[1:4]==error。整数不是不灵活的,而字符串是

编辑: 这也应该起作用,并且打破了你对cadena做得更好的顺序:


我不确定我是否理解错了你的解释,但我把cadena字符串又变成了一个整数,cadena转换成整数和numero是一样的,一个有效,而另一个无效。你把cadena索引到它之后,把它变成了一个整数汉克斯先生,我想我收到了,请看我的编辑,如果这有助于你理解,请告诉我more@PaulitaSpain如果这回答了你的问题,你应该接受它,并投票表决。
import sys

print(sys.argv)
if len(sys.argv) == 2:
    longitud = len(sys.argv[1])
    numero = int(sys.argv[1])
    cadena = str(numero)
    if numero > 0 and numero < 10000:
        print("The length is:",longitud)
        for r in range(longitud):
            print("{:04d}".format(numero[::-1][r]) * 10 ** r)
    else:
        print("Error")
else:
    print("Error")
import sys

print(sys.argv)
if len(sys.argv) == 2:
    longitud = len(sys.argv[1])
    numero = int(sys.argv[1])
    cadena = str(numero)
    if numero > 0 and numero < 10000:
        print("The length is:",longitud)
        for r in range(longitud):
            print("{:04d}".format(int(cadena[::-1][r]) * 10 ** r))
    else:
        print("Error")
else:
    print("Error")
numero = int(sys.argv[1])
cadena = str(numero)
sys.argv == ['1232', '12324']
numero = int(sys.argv[1]) # numero == 1232
cadena = str(numero) # cadena == '1232'
import sys

print(sys.argv)
if len(sys.argv) == 2:
    longitud = len(sys.argv[1])
    numero = int(sys.argv[1])
    cadena = str(numero)
    if numero > 0 and numero < 10000:
        print("The length is:",longitud)
        for r in range(longitud):
            str(cadena)
            cadena = cadena[::-1]
            cadena = cadena[r]
            cadena = int(cadena)
            print("{:04d}".format(cadena * 10 ** r))
    else:
        print("Error")
else:
    print("Error")