Задача состоит в том, что при получении строки типа: a3d4c1, в файл вывести строку: aaaddddс. Цифра соответствует количеству повторений символа. Есть код следующего содержания:
with open("file.txt", 'r') as file:
istr = file.readline().strip()
buf = ''
temp = ''
out = open("out.txt", 'w')
for i in istr:
if i.isdigit():
#print(type(buf), type(i))
buf += i
if i.isalpha() and buf != '':
out.write(temp*int(buf))
temp = i
buf = 0
out.close()
Python выдаёт ошибку unsupported operand type(s) for +=: 'int' and 'str' на строке buf +=i при этом если убрать комментарий с print(type(buf), type(i)), то выдаёт, что оба str. В чём ошибка?
buf = 0, вот на второй итерации и падает – andreymal Mar 23 '18 at 11:19''.join([v * int(s[i * 2 + 1]) for i, v in enumerate(s[::2])])– slippyk Mar 23 '18 at 11:24