Python для сбора и анализа данных

Алла Тамбовцева, НИУ ВШЭ

Семинар 2: списки и строки

Задание 0

Даны два списка a и b:

In [1]:
a = [1, 0, 9, 12, 18, 34, 89, 91, 33, 127]
b = [2, 8, 9, 11, 76, 25, 44]
  1. Выведите на экран первый элемент списка a, третий элемент списка a, последний элемент списка a.
  2. Добавьте в список b элемент 7 (просто допишите в конец).
  3. Замените пятый элемент списка a на число 8.
  4. Создайте список merged, который включает в себя все элементы списка a и списка b.
  5. Создайте новый список c, который получается заменой последнего элемента списка a на число 100. Сам список a измениться не должен!

Задание 1

Есть список имён:

In [2]:
girls = ["Иветта", "Виолетта", "Кассандра", "Вирджиния", 
         "Амелия", "Розамунда", "Янина", "Беатриса"]

Используя список girls, выведите на экран следующие списки:

["Виолетта", "Кассандра", "Вирджиния", "Амелия"]
["Вирджиния", "Амелия", "Розамунда", "Янина", "Беатриса"]
["Иветта", "Виолетта", "Вирджиния", "Амелия"]
["Кассандра", "Амелия", "Розамунда"]

Задание 2

Дан список L.

In [3]:
L = [12, 3, 8, 125, 10, 98, 54, 199]

Выведите на экран (последовательно, с новой строчки):

  • все элементы списка L;
  • логарифмированные значения элементов списка L.

Замените пятый элемент списка L на 0. Проделайте те же операции, что и раньше. Объясните, почему получаются такие результаты.

Задание 3

Объясните, что делает следующий код и почему он выдает такие результаты:

In [4]:
M = [1, 2, 3, 4]

for i in range(len(M)):
    a = M[i] + M[i-1]
    print(a)
5
3
5
7

Задание 4

Дан список L:

L = [4, 8, 9, 0, 10, 12, 56, 6, 7]

Напишите программу, которая запрашивает у пользователя с клавиатуры индекс элемента в списке L, новое значение этого элемента, а потом заменяет старое значение новым. Список L должен измениться.

Пример: пользователь ввел числа 3 и 100, и список L стал таким:

L = [4, 8, 9, 100, 10, 12, 56, 6, 7]

Задание 5

Напишите программу, которая запрашивает у пользователя с клавиатуры два числа и возвращает список целых чисел, которые находятся в промежутке между этими числами (исключая указанные числа).

Пример: пользователь ввел число 5 и число 9, ему вернулся список [6, 7, 8].

Задание 6

Напишите программу, которая запрашивает у пользователя с клавиатуры целое число $n$ и выводит на экран сумму квадратов целых чисел от 0 до $n$. В процессе решения списки создавать нельзя!

Задание 7

Напишите программу, которая запрашивает у пользователя его фамилию, имя, отчество, введенные в одну строчку через пробел, и выводит на экран сообщения:

Ваша фамилия: фамилия
Ваше имя: имя
Ваше отчество: отчество

Пример:

Входные данные:

Введите Ваши ФИО: Тамбовцева Алла Андреевна

Выходные данные:

Ваша фамилия: Тамбовцева
Ваше имя: Алла
Ваше отчество: Андреевна

Задание 8

Напишите программу, которая берет строку "1; 2; 3; 100" и возвращает:

  • список из целых чисел;
  • список из чисел с плавающей точкой.

Задание 9

Напишите программу, которая принимает на вход список слов такого вида:

In [6]:
words = ["Speak ", "to", "me ", "of", "Florence ",
         "And ", "of", "the", "Renaissance"]

а возвращает список

In [7]:
words_clean = ["speak", "to", "me", "of", "florence", 
               "and", "of", "the", "renaissance"]

Другими словами, программа убирает пробелы в словах и приводит все слова к нижнему регистру.

Подсказка: запросите help() по методам .strip() и .lower().