Вот две программы, образующие из слова "Don't panic!" в слово "on tap":
Первый код, процесс действия которого я не понял как он образует в "on tap":
pharse = "Don't panic!"
plist = list(pharse)
print(pharse)
print(plist)
for i in range(4):
plist.pop()
plist.pop(0)
plist.remove("'")
plist.extend([plist.pop(), plist.pop()])
plist.insert(2, plist.pop(3))
new_phrase = ' '.join(plist)
print(plist)
print(new_phrase)
И вот вторая программа работающая со списком, процесс которой мне понятен преобразования слова "on tap" из слова "Don't panic!":
pharse = "Don't panic!"
plist = list(pharse)
print(pharse)
print(plist)
new_phrase = '',join(plist[1:3])
new_phrase = new_phrase + ''.join([plist[5], plist[4], plist[7], plist[6]])
print(plist)
print(new_phrase)
Вот мне интересно по поводу первой программы, я всё правильно понял:
plist.pop(0) - отвечает за срез "D" из "Don't panic!"?
remove - отвечает за удаление?
Мне не понятно оствается в коде первой программы "for i in range(4):" и "plist.extend([plist.pop(), plist.pop()])" - как они отвечают за механизм преобразования из "Don't panic!" в "on tap", как работает процесс замены местами букв "p" и "a" в коде первой программы?
Python
Во втором коде программы разобрался, а в предыдущем нет.
В первой программе, код работает следующим образом:
pharse = "Don't panic!" - задается исходная фраза "Don't panic!".
plist = list(pharse) - преобразуется фраза в список, где каждый символ становится элементом списка. В данном случае, список будет содержать следующие элементы: ['D', 'o', 'n', "'", 't', ' ', 'p', 'a', 'n', 'i', 'c', '!'].
Затем, на экран выводится исходная фраза и список: print(pharse) и print(plist).
Далее следует цикл for i in range(4):. Он будет выполняться 4 раза.
Внутри цикла происходят следующие операции:
plist.pop() - удаляет последний элемент списка. При первой итерации будет удален элемент '!', при второй - 'c', при третьей - 'i', при четвертой - 'n'.
plist.pop(0) - удаляет первый элемент списка. При первой итерации будет удален элемент 'D', при второй - 'o', при третьей - "'", при четвертой - 't'.
plist.remove("'") - удаляет символ "'" из списка.
plist.extend([plist.pop(), plist.pop()]) - извлекает два элемента из списка (последний и предпоследний) и добавляет их в конец списка.
plist.insert(2, plist.pop(3)) - извлекает элемент с индексом 3 из списка и вставляет его на позицию с индексом 2.
После выполнения цикла, список plist будет иметь следующее содержимое: ['p', 'a', 'n', ' ', 't', 'a', 'p'].
Далее, список преобразуется обратно в строку с использованием пробелов между элементами: new_phrase = ' '.join(plist). Таким образом, new_phrase будет содержать строку "p a n t a p".
На экран выводится измененный список и полученная фраза: print(plist) и print(new_phrase).
Таким образом, первая программа работает следующим образом: она использует операции с удалением, добавлением и перемещением элементов в списке, чтобы изменить порядок исходных символов и получить фразу "on tap". Однако, код не является чистым и понятным, и его работа может быть запутанной.
pharse = "Don't panic!" - задается исходная фраза "Don't panic!".
plist = list(pharse) - преобразуется фраза в список, где каждый символ становится элементом списка. В данном случае, список будет содержать следующие элементы: ['D', 'o', 'n', "'", 't', ' ', 'p', 'a', 'n', 'i', 'c', '!'].
Затем, на экран выводится исходная фраза и список: print(pharse) и print(plist).
Далее следует цикл for i in range(4):. Он будет выполняться 4 раза.
Внутри цикла происходят следующие операции:
plist.pop() - удаляет последний элемент списка. При первой итерации будет удален элемент '!', при второй - 'c', при третьей - 'i', при четвертой - 'n'.
plist.pop(0) - удаляет первый элемент списка. При первой итерации будет удален элемент 'D', при второй - 'o', при третьей - "'", при четвертой - 't'.
plist.remove("'") - удаляет символ "'" из списка.
plist.extend([plist.pop(), plist.pop()]) - извлекает два элемента из списка (последний и предпоследний) и добавляет их в конец списка.
plist.insert(2, plist.pop(3)) - извлекает элемент с индексом 3 из списка и вставляет его на позицию с индексом 2.
После выполнения цикла, список plist будет иметь следующее содержимое: ['p', 'a', 'n', ' ', 't', 'a', 'p'].
Далее, список преобразуется обратно в строку с использованием пробелов между элементами: new_phrase = ' '.join(plist). Таким образом, new_phrase будет содержать строку "p a n t a p".
На экран выводится измененный список и полученная фраза: print(plist) и print(new_phrase).
Таким образом, первая программа работает следующим образом: она использует операции с удалением, добавлением и перемещением элементов в списке, чтобы изменить порядок исходных символов и получить фразу "on tap". Однако, код не является чистым и понятным, и его работа может быть запутанной.
Роман Любишкин
Большое спасибо.
Добавь print(plist) между каждым методом, и увидишь что происходит. А что именно делают методы можно загуглить.
pop - удалить и получить элемент по индексу
remove - удалить элемент по значению
extend - запихнуть список в конец списка
pop - удалить и получить элемент по индексу
remove - удалить элемент по значению
extend - запихнуть список в конец списка
Похожие вопросы
- улучшить код программы на Pytho
- Скиньте код программы на пайтоне. Небольшой. Строк на 30
- Помогите написать программу на Python, моя версия кода на скрине, вроде всё работает, но автопроверка не проходит.
- Ускорьте работу программы (готовый правильный код написан уже)
- Код на программу python пж
- Если две программы работают одинаково но код у них разный, то - это считается ли уже как другая программа ? Понять могу
- Можете помочь! Нужен код для Python, что бы он заменял определенный текст в файле
- Помогите составить правильную программу(код) для уравнения в pycharm
- Как закрыть приложение PyQt5 чрез код другой программы.
- Пожалуйста напишите код на питоне для новичка, чтобы разобраться