This error keeps appering "builtins.IndexError: string index out of range"
This error keeps appering "builtins.IndexError: string index out of range"
normal = input("请输入要编码的文本:")
对=“”
2odd = ""
comp = len(正常)
我在范围内(长度):
if( i%2 == 0):
pares = pares + normal[i]
else:``
impares = impares + normal[i]
加密 = 偶数 + 奇数
打印(加密)
打印("\n")
text = input("输入要解码的文本:")
car_pares2 = ""
car_impares2 = ""
comp2 = len(文本)
我在范围内(comp2):
if i%2 == 0:
pares2 = pares2 + texto[i]
else:
impares2 = impares2 + texto[i-1]
我在范围内(comp2):
print(pares2[i], end = "")
我在范围内(comp2):
print(impares2[i-1], end = "")
我认为错误是在这里产生的:
for i in range(comp2):
print(pares2[i], end = "")
for i in range(comp2):
print(impares2[i-1], end = "")
我对 cpython 没有太多经验,但我想你的意思是:
for i in range(pares2):
print(pares2[i], end = "")
for i in range(impares2):
print(impares2[i-1], end = "")
因为对于任何非空字符串,comp2 的长度将明显超过 pares2 和 impares2 的长度。
此外,请记住,impares2[i-1] 上的索引将从 -1 开始,因为范围函数的第一个索引 (i) 将为 0。因此,它将 return字符串的最后一个字符,如下例所示:
myList = ['A', 'B', 'C', 'D', 'E']
print(myList[-1])
output: E
normal = input("请输入要编码的文本:")
对=“”
2odd = ""
comp = len(正常)
我在范围内(长度):
if( i%2 == 0):
pares = pares + normal[i]
else:``
impares = impares + normal[i]
加密 = 偶数 + 奇数
打印(加密)
打印("\n")
text = input("输入要解码的文本:")
car_pares2 = ""
car_impares2 = ""
comp2 = len(文本)
我在范围内(comp2):
if i%2 == 0:
pares2 = pares2 + texto[i]
else:
impares2 = impares2 + texto[i-1]
我在范围内(comp2):
print(pares2[i], end = "")
我在范围内(comp2):
print(impares2[i-1], end = "")
我认为错误是在这里产生的:
for i in range(comp2):
print(pares2[i], end = "")
for i in range(comp2):
print(impares2[i-1], end = "")
我对 cpython 没有太多经验,但我想你的意思是:
for i in range(pares2):
print(pares2[i], end = "")
for i in range(impares2):
print(impares2[i-1], end = "")
因为对于任何非空字符串,comp2 的长度将明显超过 pares2 和 impares2 的长度。
此外,请记住,impares2[i-1] 上的索引将从 -1 开始,因为范围函数的第一个索引 (i) 将为 0。因此,它将 return字符串的最后一个字符,如下例所示:
myList = ['A', 'B', 'C', 'D', 'E']
print(myList[-1])
output: E