Страницы

Поиск по вопросам

среда, 26 февраля 2020 г.

Как заменить одинаковые текстовые элементы в переменной на разные элементы из массива?

#python #python_3x



  создайте переменную равную "Квинтилий Вар потерял XX легионов в Германии: XXX,
XXX, и XXX"
  создайте массив с элементами  Legio XVII, Legio XVIII and Legio XIX
  скомбинируйте все перменные чтобы получить "Квинтилий Вар потерял 3 легиона в Германии:
Legio XIX, Legio XVII, и Legio XVIII"


Пытаюсь решить так, но со вторым элементом не выходит:

a = "Квинтилий Вар потерял XX легионов в Германии: XXX, XXX, и XXX"
b = ["Legio XVII", "Legio XVIII", "Legio XIX,"]
b.sort()
c = a.replace("XX легионов", "3 легиона").replace("XXX,", str(b[0])).replace("XXX",
str(b[2])).replace(" и XXX", str(b[1]))
print(c)


Мой результат:


  Квинтилий Вар потерял 3 легиона в Германии: Legio XIX, Legio XIX, и Legio XVIII

    


Ответы

Ответ 1



Например так: a = "Квинтилий Вар потерял XX легионов в Германии: XXX, XXX, и XXX" b = ["Legio XVII", "Legio XVIII", "Legio XIX,"] b.sort() a.replace('XXX', '{}').replace('XX легионов', '{x2}').format(*b, x2="3 легиона") Результат: 'Квинтилий Вар потерял 3 легиона в Германии: Legio XIX,, Legio XVII, и Legio XVIII'

Ответ 2



b = ["Legio XVII", "Legio XVIII", "Legio XIX"] res = a.replace("XXX", "{}").format(*sorted(b)).replace("XX", "3") print(res) >>> Квинтилий Вар потерял 3 легионов в Германии: Legio XIX, Legio XVII, и Legio XVIII

Комментариев нет:

Отправить комментарий