IndexError:RLE python中的字符串索引超出范围



如果i输入A9输出AAAAAAAAA但i输入
A10程序将是超出范围的错误索引。当im输入A10或以上程序时,如何修复程序是有效的。这是我的代码

Char = input ("Input Char : ")
Total = len(Char)
Decompress =""
for i in range (0, Total,2):
Loop = int(Char[i+1])
for j in range (0, Loop):
Decompress = Decompress + Char [i]

print("Output : ",Decompress)

这里不需要一个循环(或两个循环!(。

只需将字符串相乘:

Char = input("Input Char : ")
print("Output : ", Char[0]*int(Char[1:]))

输出:

Input Char : A15
Output :  AAAAAAAAAAAAAAA

更通用的输入

假设您想处理重复的字符/数字对,使用regex:很容易实现

import re
Char = input ("Input Char : ")
print("Output : ", ''.join(c*int(n) for c,n in re.findall('(D+)(d+)', Char)))

示例:

Input Char : A2B10CD3
Output : AABBBBBBBBBBCDCDCD

相关内容

  • 没有找到相关文章

最新更新