Строки и списки
Срезы
text = 'Hello World'
print(text[2:7]) # срез строки от 2 (нумерация с нуля) элемента до 7 (7й не печатается, пробелы учитываются)
print(text[:7]) # с 0 до 7
print(text[4:]) # с 4 до конца
print(text[0:8:2]) # от 0 до 8 с шагом 2
print(text[::2]) # с самого начала до самого конца с шагом 2
print(text[::-1]) # инверсия строки, т.е. задом наперед
Методы строк (здесь не все, их больше)
print(text.upper()) # переводит строку в верхний регистр
print(text.lower()) # переводит строку в нижний регистр
print(text.replace('l', 'Q')) # заменят в строке все L на Q
print(text.find('l')) # позволяет найти индекс конкретного символа, выводит только первое совпадение
print(text.isdigit()) # проверяет является ли строка числовой, если строка будет состоять из одних чисел ввернет значение True
Методы списка (здесь не все, их больше)
data = [1, 'Hello', True, 33.8]
#data.pop() # удалил последний элемент списка
#print(data)
#a = data.pop() # удалить элемент, но сохранить его в переменную
#print(a) # выведется 33.8
#data.pop(0) # удаляет конкретный элемент, в скобках указываем индекс
#print(data)
data.insert(2, 'Теперь тут я!!!') #вставляет новый элемент между элементами, встанет после второго индекса
print(data)
data_n = [3, 43, 2, 1, 67]
data_n.sort() # отсортировать цифровой список по порядку
print(data_n)
Задачи
- Напишите программу, которая будет работать, как усовершенствованное эхо:
программа должна считывать строку, которую вводит пользователь, и выводить на экран эту же строку, повторенную заданное количество раз.
Скачать файл
word = input()
number = int(input())
print(word * number)
- Напишите программу, которая считывает введенную с клавиатуры строку и выводит строку, составленную из её последней и первой буквы.
Скачать файл
word = input()
first = word[0]
last = word[-1]
print(last + first)
- Напишите программу, которая считывает последовательность слов, разделенных пробелами, и выводит на экран слово,
которое стоит посередине в этом предложении. Гарантируется, что в предложении нечетное количество слов.
Входные данные:
Строка-предложение, слова в котором разделены пробелами. Вводится с клавиатуры
Выходные данные:
Строка, состоящая из одного слова
Скачать файл версия 1
Скачать файл версия 2
#Версия 1
word = input()
word_list = word.split(' ')
center = (len(word_list) + 1) // 2
print(word_list[center - 1])
#Версия 2
word = input()
word_list = word.split(' ')
print(word_list[-(len(word_list) + 1) // 2])
Для упрощения кода достаточно просто посчитать len(word_list) // 2 --- это и есть индекс слова посередине
- Поэлементное копирование списка (МФТИ)
Скачать файл
N = int(input('Введите количество элементов списка: '))
A = [0] * N
B = [0] * N
for k in range(N):
A[k] = int(input('Введите числа элемента: '))
for k in range(N):
B[k] = A[k]
print(B)
- Нулевой список с заданным количеством элементов (МФТИ)
Скачать файл
A = [0]*1000 # создание списка А с тысячью нулей
top = 0 #уровень заполненности списка. Top
x = int(input())
while x != 0:
A[top] = x
top +=1
x = int(input())
# выведем первые пять элементов списка A в обратном порядке
for k in range (4, -1, -1):
print(A[k])