Виктор К
Мастер
(2302)
8 лет назад
a.replace(3,2)
что вы пытаетесь добиться этим?
почитайте вообще про replace -
a.replace("X","Y") - заменить в строке все вхождения символа X на Y
a.replace("mama","papa") -аналогично, заменить все вхождения 'mama' на 'papa'
понятно что replace("2","3") ничего не делает, так как в строке GCV нет символа "2"
Применительно к задаче- советую работать со списком, а не строкой.
l = ['G','C','V']
напишите функцию swap(l,i,j)
def swap(l,i,j):
__l[i], l[j]=l[j], [i]
функция будет менять местами в списке l элементы с индексами i и j
поменяли местами цветы утром:
swap(l,1,2)
вечером
swap(l,0,1)
лексей дронин
Мыслитель
(5681)
8 лет назад
метод replace заменяет вхождение 'V', на C' а не меняет их местами. в итоге после выполнения цикла в строке будет все три одинаковых буквы. понятно что replace("2","3") ничего не делает, так как в строке GCV нет символа "2"
правильно написал Виктор К надо работать с списком. если просто не заморачиваясь с функцией то как то так
a=['G','C','V']
k=5
for _ in range(k):
....a[2],a[1]=a[1],a[2]
....a[0],a[1]=a[1],a[0]
print (''.join(a))
fr=open('input.txt','r')
fw=open('output.txt', 'w')
d=int(fr.readline())
a='G''C''V'
b=0
while d:
b=b+1
if d!=b:
a.replace(3,2)
a.replace(1,2)
fw.write(a)
fw.close()
fr.close()