file = open(fullname, 'r')
for line in file:
if line.endswith('\n'): line = line[:-1]
line = line.split(',')
for tile in line:
index = line.index(tile)
tile = tile.split('>')
print(tile)
copies = int(tile[1])
tile = tile * copies
line[index:index+1] = tile
文本文件格式:
block>20, otherblock>10
输出:
['block', '20']
['20']
Traceback (most recent call last):
File "C:/Users/CAIO/Documents/Pycharm/vitoria/main.py", line 92, in <module>
main()
File "C:/Users/CAIO/Documents/Pycharm/vitoria/main.py", line 77, in main
test_map = MapClass("map.txt")
File "C:/Users/CAIO/Documents/Pycharm/vitoria/main.py", line 23, in __init__
self.load_map(name)
File "C:/Users/CAIO/Documents/Pycharm/vitoria/main.py", line 39, in load_map
copies = int(tile[1])
IndexError: list index out of range
Process finished with exit code 1
当我引用磁贴[1]时,它表示索引无效,而当我引用磁贴[0]时,它只是“块”,而不是['block','10']。 拆分前打印磁贴会导致:
'block>20'
'20'
我现在太累了,不想做这个,可能是我跳过了一些愚蠢的事情
根据您的代码,您似乎希望展开“文本”>;“计数”格式,文本重复“计数”次
试试这个代码。请注意,此代码删除文本前的前导空格
输出
如果您想要最少的代码,可以使用列表理解
输出相同
相关问题 更多 >
编程相关推荐