我在学校上计算机科学课程,我需要为考试找出一些代码,我需要在解码RLE后在for循环中打印变量名,然后更改变量名。我很难解释,但我希望你能理解。你知道吗
我试着在网上查,但找不到恰当的方法来表达我的问题。你知道吗
import re
def decode(string):
return re.sub(r'(\d+)(\D)', lambda m: int(m.group(1)) * m.group(2), string)
ch=int(input())
for x in range(0, ch):
globals()['line%s' % x]=input()
for x in range(0, ch):
print(decode(['line%s' % x]))
我要查找的结果是在逐行输入RLE(ch
是行的数量)之后,我生成的函数采用for循环创建的变量名(因此它们的名称是line0
、line1
、line2
等等。。。直到line(ch)
),然后继续解压缩并打印RLE,但我似乎无法让它工作
编辑:我可能已经使我的问题不明显,我道歉,我想修复最后两行代码,以便RLE是解压和打印在一个for循环,我不知道这是否可能,但我只想知道如何(如果)我可以以某种方式使print(decode(['line%s' % x]))
工作,所以就像变量line
后面跟一个数字一样,在变量中发生了变化。对不起,我不善于解释。你知道吗
动态创建变量名几乎总是错误的。您只需要一个简单的值列表:
相关问题 更多 >
编程相关推荐