Вставить букву в начало строки
Здравствуйте. Помогите пожалуйста реализовать программу на Python. Нужно создать текстовый файл,переписать его компоненты в новый текстовый файла, вставляя на начало каждой строки букву, что является первой в последнем слове строки. Спасибо! Конкретно интересует операции с буквой
Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Как вставить входящую переменную из параллельного потока в начало вводимой строки
Добрый вечер, подскажите, пожалуйста, как вставить входящую переменную из параллельного потока в.
Последнюю букву строки в начало
Необходимо перенести последние буквы каждого слова в начало. Но получается почему-то удалить.

Вставить в начало строки ее порядковый номер, в конце строки — ее длину
Заданный текстовый файл F. Переписать компоненты файла F в файл H. При этом вставить в начало.

Вставить в начало строки ее порядковый номер, в конце строки — ее длину
Заданный текстовый файл F. Переписать компоненты файла F в файл H. При этом вставить в начало.
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305

Сообщение было отмечено DmitriyStels как решение
Решение
1 2 3 4 5 6 7 8 9 10
with open('test.txt') as f: ftext = map(str.rstrip, f.readlines()) out_lst = [] for line in ftext: first_in_last = line.split()[-1][0] out_lst.append(f'') with open('out.txt', 'w') as f: f.write('\n'.join(out_lst))
Кликните здесь для просмотра всего текста
qwe sad
asdqwe
asda asd kaa
Кликните здесь для просмотра всего текста
sqwe sad
aasdqwe
kasda asd kaa
Можно и не хранить список результата. Сразу в цикле писать в файл. Только в последнюю строку не добавляйте \n .
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Вставить в начало строки ее порядковый номер, в конце строки — ее длину
ищо одну сделать и все. Ато очень нада через 3 дня екзамен а я к нему недопущен((( нада последнюю.

Вставить в начало каждой строки файла ее номер и записать преобразованные строки в новый файл
Дан текстовый файл. Вставить в начало каждой строки ее номер и записать преобразованные строки в.

Строки. Перенести последнюю букву в начало слова
Дана последовательность, содержащая от 2 до 30 слов, в каждом из которых от 2 до 10 строчных.
Нужно последнюю букву слова вставить в начало этого же слова
написал код по идее он должен работать но выдает ошибку в a #include <stdio.h> #include.
Строки символов. (Переместить последнюю букву в начало слова)
Нужна помощь, буду сильно благодарен. Задание: В произвольном тексте, содержащем не более 10 строк.
Строки символов. (Переместить последнюю букву в начало слова)
Прошу помощи в решении задачи. Нужно написать код к данной задаче в Visual Studio (в консольной.

Вставить символы в начало и конец строки
Дана строка символов. Сформируйте новую строку, начинающуюся с символа а (вводится с клавиатуры) и.
Метод prepend
Метод prepend позволяет вставить в начало какого-либо элемента другой элемент. Параметром метод принимает элемент, как правило созданный через createElement , либо строку. Можно добавить сразу несколько элементов или строк, перечислив их через запятую.
Синтаксис
родитель.prepend(элемент или строка);
Пример
Давайте создадим абзац, установим ему текст и поместим на страницу в начало блока #parent :
1
2
3
let parent = document.querySelector(‘#parent’); let p = document.createElement(‘p’); p.textContent = ‘!’; parent.prepend(p);
Результат выполнения кода:
Пример
Поместим сразу несколько абзацев в начало блока #parent :
1
2
3
let parent = document.querySelector(‘#parent’); let p1 = document.createElement(‘p’); p1.textContent = ‘a’; let p2 = document.createElement(‘p’); p2.textContent = ‘b’; parent.prepend(p1, p2);
Результат выполнения кода:
Пример
Давайте в качестве параметра метода используем строку:
1
2
3
let parent = document.querySelector(‘#parent’); parent.prepend(‘!’);
Результат выполнения кода:
Смотрите также
- метод append ,
который вставляет элементы в конец - метод appendChild ,
который вставляет элементы в конец - метод insertBefore ,
который вставляет элемент перед элементом - метод insertAdjacentElement ,
который вставляет элемент в заданное место - метод insertAdjacentHTML ,
который вставляет теги в заданное место
Списки
Список Python является гибким в использовании объектом. Как инструмент, программист может использовать списки, например, для создания элементов линейной алгебры: точек, векторов, матриц, тензоров. Или, например, для таблицы с некоторыми данными.
Создание списка
Список можно создать при помощи литералов. Литерал — это код, который используется для создания объекта «вручную». Например, некоторые литералы уже изученных ранее объектов:
- int : 5 , -23
- float : 5. , 5.0 , -10.81 , -1.081e1
- str : ‘ABCdef’ , «ABCdef»
В случае списка литералом являются квадратные скобки [] , внутри которых через запятую , перечисляются элементы списка:
>>> [] [] >>> [0, 1, 2, 3, 4] [0, 1, 2, 3, 4] >>> [‘sapere’, ‘aude’] [‘sapere’, ‘aude’] >>> [‘Gravitational acceleration’, 9.80665, ‘m s^-2’] [‘Gravitational acceleration’, 9.80665, ‘m s^-2’] >>> type([])
Генератор списков
Зачастую требуется создать список, хранящий значения некоторой функции, например, квадратов чисел или арифметическую последовательность. Для этого можно воспользоваться синтаксическим сахаром Python — генератором списка:
>>> arithm = [ x for x in range(10) ] >>> squares = [ x**2 for x in range(10) ] >>> arithm [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> squares [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
Однако злоупотреблять генераторами не стоит — если заполнение происходит по сложным правилам, лучше избежать использования генератора в пользу читаемости кода.
Метод list.append
Метод списков list.append (англ. добавить в конец), как следует из перевода, добавляет элемент в конец списка.
В примере ниже инициализируется пустой список fibs , а затем заполняется элементами:
>>> fibs = [] >>> fibs.append(1) >>> fibs [1] >>> fibs.append(1) >>> fibs [1, 1] >>> fibs.append(2) >>> fibs [1, 1, 2] >>> fibs.append(3) >>> fibs [1, 1, 2, 3]
Функция list
Аналогично функциям преобразования типов int() , float() , str() существует функция list() , создающая список из итерируемого объекта. Её можно использовать, например, для создания списка символов из строки:
>>> list("sapere aude") ['s', 'a', 'p', 'e', 'r', 'e', ' ', 'a', 'u', 'd', 'e'] >>> list(range(10)) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Элементы списка: доступ и изменение
Для доступа к элементам списка используется операция взятия элемента по индексу. Для этого рядом с литералом или переменной списка необходимо подписать индекс элемента в квадратных скобках:
>>> ['Gravitational acceleration', 9.80665, 'm s^-2'][0] 'Gravitational acceleration' >>> ['Gravitational acceleration', 9.80665, 'm s^-2'][1] 9.80665 >>> ['Gravitational acceleration', 9.80665, 'm s^-2'][2] 'm s^-2' >>> l = [10, 20, 30] >>> l[0] 10 >>> l[1] 20 >>> l[2] 30
Нумерация элементов списка начинается с нуля.
При запросе элемента по несуществующему индексу, происходит ошибка IndexError:
>>> l [10, 20, 30] >>> l[3] Traceback (most recent call last): File "", line 1, in IndexError: list index out of range
Поэтому всегда нужно быть уверенным, что индексация не выходит за пределы длины списка. Получить её можно, как и для строк, с помощью функции len() :
>>> l [10, 20, 30] >>> len(l) 3 >>> l[len(l) - 1] 30
Последняя конструкция встречается нередко, поэтому в Python существует возможность взять элемент по отрицательному индексу:
>>> l [10, 20, 30] >>> l[-1] 30 >>> l[-2] 20 >>> l[-3] 10 >>> l[-4] Traceback (most recent call last): File "", line 1, in IndexError: list index out of range
Таким образом для индекса n ≥ 0, l[-n] эвивалентно l[len(l) — n] .
Изменение элементов
Изменение элементов осуществляется с помощью присваивания:
>>> l = [10, 20, 30] >>> l [10, 20, 30] >>> l[0] = 0 >>> l [0, 20, 30] >>> l[2] = 55 >>> l [0, 20, 55]
Доступ в цикле while
>>> l [0, 20, 55] >>> i = 0 >>> while i len(l): . print(i, l[i]) . i += 1 . 0 0 1 20 2 55 >>>
Доступ в цикле for
Наиболее универсальный способ это использование генератора range:
>>> l [0, 20, 55] >>> for i in range(len(l)): . print(i, l[i]) . 0 0 1 20 2 55
Питонизмы
Конструкции с использованием while и for , изложенные выше, имеют аналоги практически во всех языках программирования. Они универсальны, стандартны, переносимы из языка в язык.
Этот раздел относится только к особенностям языка Python.
Не злоупотребляйте питонизмами, наша цель — освоить алгоритмы и структуры данных, а не Python.
В языке Python цикл for на самом деле является синтаксическим сахаром, поддерживающим концепцию итерируемого объекта. Его обобщённый синтаксис выглядит примерно так:
for item in any_iterable: # тело цикла
Здесь item это выбранное программистом имя переменной итерирования, которая доступна в теле цикла. В начале каждой итерации в эту переменную помещается значение из any_iterable . Под any_iterable может стоять любой итерируемый объект.
Знакомые нам примеры итерируемых объектов:
- range — генератор арифметической последовательности, for «просит» новые значения у генератора, пока те не закончатся
- str — строковый тип, итерирование происходит по символам
- list — список, итерирование происходит по элементам
Таким образом, «pythonic way» пробега по списку может выглядеть так:
>>> l [0, 20, 55] >>> for elem in l: . print(elem) . 0 20 55
Отсюда видно, что программист в таком случае теряет удобный способ получить индекс элемента, если он ему нужен.
Под подобные мелкие задачи существует множество «питонизмов» — специфических для языка Python инструментов.
Один из примеров — enumerate — позволяет программисту получить в цикле индекс итерации (!) и сам элемент.
При таком использовании номер итерации совпадает с индексом элемента:
>>> l [0, 20, 55] >>> for i, elem in enumerate(l): . print(i, elem) . 0 0 1 20 2 55
Код приведённый для enumerate выше, аналогичен универсальным:
>>> l [0, 20, 55] >>> for i in range(len(l)): . elem = l[i] . print(i, elem) . 0 0 1 20 2 55
>>> l [0, 20, 55] >>> i = 0 >>> while i len(l): . elem = l[i] . print(i, elem) . i += 1 . 0 0 1 20 2 55
Соединение и копирование списков
Списки можно соединять in place, т.е. перезаписывая, с помощью метода list.extend :
>>> a [0, 1, 2] >>> b [3, 4, 5] >>> a.extend(b) >>> a [0, 1, 2, 3, 4, 5] >>> b [3, 4, 5]
Или соединять, создавая новый список из исходных:
>>> a [0, 1, 2] >>> b [3, 4, 5] >>> c = a + b >>> c [0, 1, 2, 3, 4, 5]
С копированием списков нужно быть осторожным. Python никогда не осуществляет копирование явно:
>>> a [0, 1, 2] >>> b = a >>> b [0, 1, 2] >>> b[0] = 123 >>> a [123, 1, 2] >>> b [123, 1, 2]
В строчке b = a лишь создаётся ещё одна ссылка на объект [0, 1, 2] , которая присваивается переменной b . В итоге a и b будут указывать на один и тот же объект.
Чтобы создать копию, необходимо поэлементно создать новый список из исходного. Например, с помощью функции list() :
>>> a = [0, 1, 2] >>> b = list(a) >>> a [0, 1, 2] >>> b [0, 1, 2] >>> b[0] = 123 >>> a [0, 1, 2] >>> b [123, 1, 2]
Ремарка о строках
На самом деле, мы уже ранее сталкивались со списками в предудыщих работах, когда использовали str.split :
>>> s = "ab cd ef1 2 301" >>> s.split() ['ab', 'cd', 'ef1', '2', '301']
Т.е. str.split , по умолчанию, разбивает строку по символам пустого пространства (пробел, табуляция) и создаёт список из получившихся «слов».
Загляните в help(str.split) , чтобы узнать, как изменить такое поведение, и разбивать строку, например, по запятым, что является стандартом для представления таблиц в файлах csv (comma separated values).
Методом, являющимся обратным к операции str.split является str.join . Он «собирает» строку из списка строк:
>>> s 'ab cd ef1 2 301' >>> l = s.split() >>> l ['ab', 'cd', 'ef1', '2', '301'] >>> l[-1] = '430' >>> l ['ab', 'cd', 'ef1', '2', '430'] >>> ','.join(l) 'ab,cd,ef1,2,430' >>> ' -- '.join(l) 'ab -- cd -- ef1 -- 2 -- 430'
Контест №5
Сайт построен с использованием Pelican. За основу оформления взята тема от Smashing Magazine. Исходные тексты программ, приведённые на этом сайте, распространяются под лицензией GPLv3, все остальные материалы сайта распространяются под лицензией CC-BY.
#8 – Функции строк. Индексы и срезы

Язык Питон обладает обширным набором функций для работы со строками. В ходе урока мы научимся использовать множество из этих функций, а также изучим тему индексов и срезов в языке Python.
Видеоурок
Индексы
Нумерация в списках начинается с нуля, так как список по большей части это просто массив, то как в обычном массиве отсчет ведется от 0. Первый элемент по индексу будет 0, второй — 1, третий — 2 и так далее. Если мы попытаемся взять несуществующий элемент, то это приведет к ошибке.
a = [0, 23, "Hi"] # Список print (a[4]) # Выдаст ошибку, так как элемента не существует
Удобной функцией языка Python является возможность брать элементы с конца при помощи отрицательных индексов. К примеру, если нам нужен второй элемент с конца, то мы можем записать это так:
a = [0, 23, "Hi", 1.56, 9] # Список print (a[-2]) # Будет выведено 1.56
Срезы
Срезы позволяют обрезать список, взяв лишь те элементы, которые нужны. Они работают по следующей схеме: list[НАЧАЛО:КОНЕЦ:ШАГ] .
- Начало — с какого элемента стоит начать (по умолчанию равно 0);
- Конец — по какой элемент мы берем элементы (по умолчанию равно длине списка);
- Шаг — с каким шагом берем элементы, к примеру каждый 2 или 3 (по умолчанию каждый 1).
В срезах один, несколько или даже все параметры могут быть пропущены.
list[::3] # Берем каждый третий элемент list[2::2] # Начиная со второго элемента берем каждый второй элемент list[4:6:] # Начиная с 4 элемента берем все элементы по 6 элемент list[::] # Берем все элементы
Также могут быть использованы отрицательные числа для срезов.
Функции по работе со строками
word = 'FootBALL, baskeTball, skate' # print(word.count('!')) # print(word.capitalize()) # print(word.find('pr')) hobby = word.split(', ') for i in range(len(hobby)): hobby[i] = hobby[i].capitalize() result = ", ".join(hobby) print(result)
Посмотреть остальной код можно после подписки на проект!
Задание к уроку
Необходимо оформить подписку на проект, чтобы получить доступ ко всем домашним заданиям
Большое задание по курсу
Вам необходимо оформить подписку на сайте, чтобы иметь доступ ко всем большим заданиям. В задание входит методика решения, а также готовый проект с ответом к заданию.
PS: подобные задания доступны при подписке от 1 месяца
Также стоит посмотреть





Комментарии (8)
Николай 15 марта 2023 в 18:59
Какое отношение первое задание имеет к этой тем. В уроке функция enumate вообще не рассматривалась.
Anna 10 февраля 2023 в 17:06
Выведите в списке третий элемент с конца
list_2 = [3.4, 56, «Some», «Hi», 7, 3.8, 44]
print(list_2[-3])
Anna 10 февраля 2023 в 17:03
используйте функцию enumerate.
Anna 10 февраля 2023 в 17:03
Выведите каждый 3 элемент списка начиная с первого и заканчивая предпоследним.
list = [3.4, 56, «Some», «Hi», 7, 3.8, 44]
print(list[:-1:3])
Муса 04 февраля 2023 в 19:44
У вас написано list[2::2] # Начиная со ВТОРОГО элемента. А там с третьего
Zakhar 21 января 2023 в 22:50
import random print("Welcome to casino XBET!") user_logins = [''] user_passwords = [''] user_choose = input(('Choose registration or log into: ')) if user_choose == 'registration': user_logins.append(input('Create your login: ')) user_passwords.append(input('Create your password: ')) user_enter_login = input('Enter your login: ') if user_enter_login in user_logins: print('The login is Wright') else: print('The login is wrong') user_enter_password = input('Enter your password: ') if user_enter_password in user_passwords: print("The password is right") else: print('The password is wrong') elif user_choose == 'log into': user_enter_login = input('Enter your login: ') if user_enter_login in user_logins: print('The login is Wright') else: print('The login is wrong') user_enter_password = input('Enter your password: ') if user_enter_password in user_passwords: print("The password is right") else: print('The password is wrong') else: exit() balance = 100 print('Your balance = ', balance) while balance > 0: user_num = int(input("Enter your number 1-10: ")) if user_num == random.randrange(1,10): balance += 10 print('You won 10 USD') print('Your balnce is: ', balance) else: balance -= 10 print("You lose 10 USD") print("Your balance is: ", balance)
Сделал мини казино с тех знаний которые получил
Борис 18 июля 2023 в 15:39
Антон 12 ноября 2023 в 21:42
Shakhboz 24 декабря 2022 в 17:35
What is enumerate? At least, explain in text. There is nothing about it in the video. Thanks!
Андрей 20 октября 2022 в 12:19
enumerate вообще никак не объясняется в видео. Чтобы решить задание, нужно искать инфу в инете. Странный подход к обучению)