Задачи к занятию №1

Открыто с: Среда, 9 февраля 2022, 00:00
Срок сдачи: Среда, 16 февраля 2022, 00:00

Домашнее задание к лекции "Введение в типы данных и циклы. Часть 1"

Задание 1

Дана переменная, в которой хранится слово из латинских букв. Напишите код, который выводит на экран:

  • среднюю букву, если число букв в слове нечетное;
  • две средних буквы, если число букв четное.

Примеры работы программы:

  1. word = 'test'

Результат:
es

  1. word = 'testing'

Результат:
t

Задание 2

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

Примеры работы программы:

Введите число:  
1

Введите число:  
4

Введите число:  
6

Введите число:  
0

Результат:
11

Введите число:  
0

Результат:
0

Задание 3

Мы делаем MVP dating-сервиса, и у нас есть список парней и девушек.
Выдвигаем гипотезу: лучшие рекомендации мы получим, если просто отсортируем имена по алфавиту и познакомим людей с одинаковыми индексами после сортировки! Но мы не будем никого знакомить, если кто-то может остаться без пары:

Примеры работы программы:

boys = ['Peter', 'Alex', 'John', 'Arthur', 'Richard']
girls = ['Kate', 'Liza', 'Kira', 'Emma', 'Trisha']

Результат:

Идеальные пары:  
Alex и Emma  
Arthur и Kate  
John и Kira  
Peter и Liza  
Richard и Trisha
boys = ['Peter', 'Alex', 'John', 'Arthur', 'Richard', 'Michael']
girls = ['Kate', 'Liza', 'Kira', 'Emma', 'Trisha']

Результат:
Внимание, кто-то может остаться без пары!

Задание 4

У нас есть список, содержащий информацию о среднедневной температуре в Фаренгейтах за произвольный период по странам (структура данных в примере). Необходимо написать код, который рассчитает среднюю температуру за период в Цельсиях(!) для каждой страны.

Пример работы программы:

countries_temperature = [
    ['Thailand', [75.2, 77, 78.8, 73.4, 68, 75.2, 77]],
    ['Germany', [57.2, 55.4, 59, 59, 53.6]],
    ['Russia', [35.6, 37.4, 39.2, 41, 42.8, 39.2, 35.6]],
    ['Poland', [50, 50, 53.6, 57.2, 55.4, 55.4]]
]

Результат:

Средняя температура в странах:
Thailand  -  23.9 С
Germany  -  13.8 С
Russia  -  3.7 С
Poland  -  12.0 С

Задание 5 (необязательное)

Дан поток логов по количеству просмотренных страниц для каждого пользователя. Вам необходимо написать алгоритм, который считает среднее значение просмотров на пользователя. Т. е. надо посчитать отношение суммы всех просмотров к количеству уникальных пользователей.

Примеры работы программы:

stream = [
    '2018-01-01,user1,3',
    '2018-01-07,user1,4',
    '2018-03-29,user1,1',
    '2018-04-04,user1,13',
    '2018-01-05,user2,7',
    '2018-06-14,user3,4',
    '2018-07-02,user3,10',
    '2018-03-21,user4,19',
    '2018-03-22,user4,4',
    '2018-04-22,user4,8',
    '2018-05-03,user4,9',
    '2018-05-11,user4,11',
]

Результат:
Среднее количество просмотров на уникального пользователя: 23.25

stream = [
    '2018-01-01,user100,150',
    '2018-01-07,user99,205',
    '2018-03-29,user1001,81'
]

Результат:
Среднее количество просмотров на уникального пользователя: 145.33

Задание 6 (необязательное)

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

Примеры работы программы:

Введите числа:
4 8 0 3 4 2 0 3

Результат:
0 3 4

Введите числа:
1 1 2 2 3 3

Результат:
1 2 3

Введите числа:
10 15 15 103 200 200 200 1 1 1 1 1 2 2 2

Результат:
1 2 15 200

ПРИМЕЧАНИЕ

Домашнее задание сдается ссылкой Google Colab или Colabedit. Не сможем проверить или помочь, если вы пришлете:

  • файлы;
  • архивы;
  • скриншоты кода.

Все обсуждения и консультации по выполнению домашнего задания ведутся здесь.

Как правильно задавать вопросы преподавателю.

Прежде чем задать вопрос, попробуйте найти ответ в интернете. Навык самостоятельного поиска информации — один из важнейших. Каждый практикующий специалист любого уровня делает это ежедневно.

Сформулируйте вопрос по алгоритму:
1) Что я делаю?
2) Какого результата я ожидаю?
3) Как фактический результат отличается от ожидаемого?
4) Что я уже попробовал сделать, чтобы исправить проблему?

По возможности прикрепите к вопросу скриншоты либо ссылки на код. Не выкладывайте все решение, оставляйте только проблемный и воспроизводимый участок кода.