Сразу оговорюсь, что решить задачу самым простым и подходящим способом - такой задачи не стоит.
Старался максимально применить и извратить полученные знания на тему “Строки”.
Итак:
max_sl = "" vivod = "" # В этой части кода мы получаем строку, делаем ее списком и проверяем # какая строка в списке самая длинная с условием, что это строка из букв. vvod = input("Введите строку: ") spis_vvod = vvod.split() for x in spis_vvod: if len(x) > len(max_sl): if x.isalpha(): max_sl = (x) else: continue #А тут, собсвтенно, извращенно заменяются буквы и из списка #создается строка index = spis_vvod.index(max_sl) max_sl = max_sl.replace("a", "b") spis_vvod[index] = max_sl for y in range(len(spis_vvod)): vivod += "{0[y]}".format(spis_vvod) print(vivod)
Ошибка такого рода:
Traceback (most recent call last): File "ex_3.py", line 20, in <module> vivod += "{0[y]}".format(spis_vvod) TypeError: list indices must be integers, not str
Но как такое может быть? Если в том же коде, при:
for y in range(len(spis_vvod)): print(y, type(y))
Введите строку: Katastrofa yo mayo 0 <class 'int'> 1 <class 'int'> 2 <class 'int'>