Вот и началось познание курса "Базовый Python"
В курсе 14 тем рассчитанных на 29 часов. При ежедневном выделении на занятия часа по три без пропусков пройти можно не напрягаясь, но мы решили дать себе знаний максимум и уложились за семь дней. При этом часть часа по два уделял занятиям на основной работе а затем дома с шести вечера до полуночи примерно по шесть часов. Ну никак не получилось 29 часов. Мой личный результат составил (7 дней) * (8 часов) = 56 часов, а это уже почти в 2 раза дольше запланированного времени.
Курс в своем составе содержал следующие темы:
1. БPy. Переменные и типы данных.
2. БРу. Строки.
3. БРу. Списки.
4. БРу. Цикл 'for'.
7. БРу. Функции.
8. БРу. Словари.
10. БРу. Предварительная обработка данных.
11. БРу. Анализ данных и оформление результатов.
13. БРу. Проект: Музыка больших городов.
14. БРу. Заключение.
Следующая тема: БPy. Переменные и типы данных.
Следующий раздел: Предобработка данных
Вернуться в оглавление: Я.Практикум
После его освоения хочется сказать, что курс достаточно познавательный и нужный, хотя и носит поверхностный характер. Из всего курса больше всего запомнил команду print() т.к. набирал её более часто. Ну и за собой заметил, что наработал постоянный навык набирать [Ctrl + Enter] в тренажере Jupyter Notebook, до такой степени, что при наборе текста в Word для перехода на новую строку нажимаю сразу две клавиши.
В процессе обучения в пачке нас попросили не выкладывать материалы курсов, но вот решение задач я вам покажу, может быть кому то и пригодится в дальнейшем, т.к. у многих студентов возникало много вопросов, ведь в тренажер заложен один правильный ответ, даже если твоё решение правильное он говорит, что ты не прав подумай ещё.
1. Переменные и типы данных. Вывод данных и арифметических операций.
1.1 Введение.
1.2 Могучий Python.
1.3 Переменные.
Задание 1
Создайте переменную, хранящую количество друзей Оушена из фильма «Одиннадцать друзей Оушена». Назовите переменную ocean_friends. Поместите в неё значение 11 с помощью оператора присваивания.
# напишите код здесь
ocean_friends = 11
print(ocean_friends)
Задание 2
У мистера Оушена появилось ещё двое друзей. Добавьте на новой строке код, который заменит значение в переменной ocean_friends на 13. Используйте оператор присваивания.
ocean_friends = 11
# напишите код здесь
ocean_friends = 13
print(ocean_friends)
Задание 3
Мы сохранили имена двух актёров в переменных. И нарушили два правила хорошего стиля. Исправьте нас, пожалуйста. Вывод на экран в этой задаче не нужен.
ocean = 'Джордж Клуни'
ocean_friend = 'Брэд Питт'
Задание 4
Мы попробовали перезаписать переменные и заменить имена актёров на имена их героев. Не получилось — какая-то синтаксическая ошибка. Проверьте первые символы названий переменных. Исправьте ошибочные названия. Вывод на экран в этой задаче не нужен.
ocean = 'Джордж Клуни'
ocean_friend = 'Брэд Питт'
ocean = 'Дэнни'
ocean_friend = 'Расти'
1.4 Функция print()
Задание 1
Таблица описывает три музыкальных трека: Исполнитель Трек Длительность (сек) Sting Shape Of My Heart 278 Sade No Ordinary Love 322 Red Hot Chili Peppers Californication 321 В коде уже объявлена переменная, которая хранит название трека исполнителя Sting из таблицы выше. Выведите значение переменной на экран функцией print().
sting_track_name = 'Shape Of My Heart'
print(sting_track_name)# выведите её значение на экран здесь
Shape Of My Heart
Задание 2
Исполнитель Трек Длительность (сек) Sting Shape Of My Heart 278 Sade No Ordinary Love 322 Red Hot Chili Peppers Californication 321 Объявите переменную, которая будет хранить длительность трека исполнителя Sade в секундах из таблицы выше. Обратите внимание: не перепутайте исполнителя Sade и исполнителя Sting. Имя переменной выберите самостоятельно, но следуйте правилам хорошего стиля: например, начинайте название с маленькой (строчной) буквы. Выведите значение переменной на экран функцией print().
sade_time_sec = 322# объявите переменную здесь
print(sade_time_sec)# выведите её значение на экран здесь
322
1.5 Знакомство с данными.
Задание 1
Посчитайте долю носителей английского (native_speakers) от общего числа владеющих этим языком (total_speakers). Результат сохраните в переменной native_speakers_part. Выведите на экран её значение.
native_speakers = 378.2
total_speakers = 1121
native_speakers_part = native_speakers / total_speakers# напишите ваш код здесь
print (native_speakers_part)
Задание 2
Посчитайте, сколько выучивших японский язык как иностранный приходится на одного владеющего этим языком?
Результат выведите на экран.
jap_total_speakers = 128.3
jap_native_speakers = 128.2
print ((jap_total_speakers - jap_native_speakers)/ jap_total_speakers) #напишите ваш код здесь
Задание 3
Из прошлых уроков вы знаете, что первый фильм в истории человечества вышел на экраны в январе 1896 года. Эту дату можно считать годом рождения кинематографа (хоть и сняли эту короткометражку в 1895 году). Посчитайте, сколько лет исполнилось кинематографу в 2020 году. Результат выведите на экран.
first_movie_year = 1896
target_year = 2020
print (target_year - first_movie_year) # напишите ваш код здесь
1.6 Арифметические операции.
1.7 Арифметические данные и обработка ошибок.
Задание 2
Код находит отношение двух величин: числа людей, которые выучили японский как иностранный, к общему числу людей, знающих японский. Из-за неправильного значения переменной код приводит к ошибке. Запустите программу и убедитесь, что произойдёт ошибка ZeroDivisionError. Оберните строчку с print() в оператор try-except. В случае возникновения ошибки выводите на экран сообщение 'Деление на ноль!'. Менять значения переменных не нужно.
jap_total_speakers = 0
jap_native_speakers = 128.2
try:
print((jap_total_speakers - jap_native_speakers) / jap_total_speakers)
except:
print('Деление на ноль!')
1.8 Типы данных.
Задание 1
Создайте переменную de_website_part, хранящую долю сайтов на немецком языке в рейтинге 10 млн самых популярных сайтов. Какой это тип данных? Проверьте своё предположение: выведите на экран тип объекта из переменной de_website_part.
de_website_part = 0.06 # напишите код здесь
print (type(de_website_part))
Задание 2
Выведите на экран типы переменных chi_language и chi_total_speakers на отдельных строчках.
chi_language = 'китайский'
chi_total_speakers = 1107
# напишите код здесь
print (type(chi_language))
print (type(chi_total_speakers))
Задание 3
Перед вами программа, вычисляющая количество сайтов на русском языке в списке из 10 млн самых популярных сайтов в мире. В переменной russian_web_part мы сохранили долю русского языка в этом списке, а в переменной web_popular — количество сайтов, то есть 10 млн. Затем мы перемножили их в переменной russian_web_popular. Каким будет тип объекта в russian_web_popular? Выведите на экран сначала значение, затем тип переменной russian_web_popular на разных строчках.
russian_web_part = 0.061
web_popular = 10000000
russian_web_popular = web_popular * russian_web_part
# напишите код здесь
print(russian_web_popular)
print(type(russian_web_popular))
1.9 Преобразование типов.
eng_total_speakers = '1121abc'
print(int(eng_total_speakers))
Задание 2
Преобразуйте значение переменной fra_total_speakers из типа str в тип float. Для этого примените функцию float() и поместите результат в ту же переменную. Определите тип объекта после преобразования функцией type() и выведите результат на экран.
fra_total_speakers = '284.9'
# напишите код здесь
fra_total_speakers = float(fra_total_speakers)
print(type(fra_total_speakers))
1.10 Заключение.
Задание 1
Сохраните в переменной favorite_character имя любого героя из кино или литературы. Напечатайте на экран длину содержимого переменной.
favorite_character = 'Дмитрий Нагиев'# 'напишите имя персонажа вместо комментария'
#напишите ваш код здесь
print(len(favorite_character))
Задание 2
Перед вами фрагмент стихотворения Сергея Есенина: Белая берёза Под моим окном Принакрылась снегом, Точно серебром.
На пушистых ветках Снежною каймой Распустились кисти Белой бахромой. Нейросеть, которую мы уволили, пыталась выдать его за своё творчество, но мы, конечно же, сразу ей не поверили. Сохраните отрывок стихотворения в переменной в виде многострочной строки. Выведите содержимое переменной на экран.
poetry = '''Белая берёза
Под моим окном
Принакрылась снегом,
Точно серебром.
На пушистых ветках
Снежною каймой
Распустились кисти
Белой бахромой.
'''
#выведите значение переменной на экран
print(poetry)
1.11 Проверочные задания. Переменные и типы данных. Вывод данных.
Вернуться в Начало статьи
2.1 Введение.
2.2 Строки в Python/
2.3 Индексы.
Задание 1
С помощью неотрицательного индекса выведите на экран символ e из строки в переменной word.
word = 'привет'
print(word[4]) #напишите ваш код здесь
Задание 2
Примените отрицательный индекс, чтобы вывести на экран символ e из строки в переменной.
word = 'привет'
print(word[-2])#напишите ваш код здесь
2.4 Срезы.
Задание 1
Переменная word хранит строку sentence. С помощью среза выведите на экран подстроку со словом ten.
word = 'sentence'
# напишите ваш код здесь
print (word[3:6])
Задание 2
Получите подстроку из пяти первых символов строки string и выведите её на экран.
string = 'abracadabra'
#напишите ваш код здесь
print(string[0:5])
2.5 Операции над строками.
Задание 1
Барта Симпсона из мультсериала «Симпсоны» снова наказали. Помогите ему написать на доске 100 раз “I will not sleep through my education” (англ. «я не буду спать во время обучения»). Каждый раз эта фраза должна появляться с новой строки.
print('I will not sleep through my education\n' * 100)
Задание 2
Сложите строку start с одной из переменных: first_choice, second_choice, third_choice — на ваш выбор. Обратите внимание, что складывать нужно именно с переменной, а не явно повторять строку, которая в ней хранится. Результат сложения сохраните в переменную с именем result. Тогда функция print() выведет строку-результат на экран.
start = 'Мне бы хотелось отправиться в '
first_choice = 'Париж'
second_choice = 'Рим'
third_choice = 'Нью-Йорк'
# напишите ваш код здесь
result = start + second_choice
print(result)
2.6 Методы строк.
Задание 1
Методом replace() замените подстроку лень на дисциплина. Сохраните результат в переменную phrase и выведите на экран её значение.
phrase = 'Чтобы закончить этот курс, нужна лень'
phrase = phrase.replace('лень','дисциплина') # замените подстроку здесь
print(phrase) # выведите значение переменной на экран здесь
Задание 2
Преобразуйте строку к нижнему регистру и сохраните результат в переменную word_to_lower. После этого выведите значение переменной word_to_lower на экран.
word = 'DaTa ScIeNtIsT'
word_to_lower = word.lower() # приведите к нижнему регистру здесь
print(word_to_lower) # выведите значение переменной word_to_lower на экран здесь
Задание 3
Найдите индекс вхождения подстроки уроки в строку quote.
quote = 'Праздновать успех — это хорошо, но более важно извлекать уроки из неудач'
ind = quote.find('уроки') # напишите ваш код здесь
print(ind)
2.7 F - строки.
Задание 1
С помощью правил f-строк выведите на экран строку: Эйфелева башня находится в Париже, и её высота составляет 300 метров. Название города и высоту вставьте в строку из переменных 'city' и "height".
city = 'Париж'
height = 300
print(f'Эйфелева башня находится в {city}е, и её высота составляет {height} метров.') # измените эту строчку
Задание №2
Методом ""format()"" создайте строку с подстановкой переменных:
Театр-музей художника Дали находится в автономном сообществе Каталония.
place = 'Театр-музей'
last_name = 'Дали'
location = 'Каталония'
print('{0} художника {1} находится в автономном сообществе {2}.'.format(place,last_name,location)) # измените эту строчку
2.8 Заключение.
2.9 Проверочные задания. Строки.
Задание 1 из 10 Что будет, если умножить строку на целое число? Выберите один вариант.
Строка
Задание 2 из 10 Что получится, если умножить строку на вещественное число?
Строка
Задание 4 из 10 Что называют длиной строки?
Количество символов в строке
Задание 5 из 10 Что получится в результате такого среза? name = 'Clint Eastwood' print(name[10:])
wood
Задание 6 из 10 Что войдёт в такой срез? name = 'Clint Eastwood' print(name[6:9])
Eas
Задание 7 из 10 Что получится в результате такого среза? name = 'Clint Eastwood' print(name[:5])
Clint
Задание 8 из 10 Каким будет результат этого среза? name = 'Clint Eastwood' print(name[100:])
Пустая строка
Задание 9 из 10 Как объявить многострочную строку? Выберите несколько вариантов.
phrase = '''Это многострочная строка'''
phrase = """Это многострочная строка"""
Задание 10 из 10 Выберите правильные варианты форматирования строк.
city = 'Moscow' country = 'Russia' phrase = f'{city} is the capital of {country}'
Вернуться в Начало статьи
3.1 Введение.
3.2 Списки - основы.
Задание 1
В переменную duration запишите первые пять значений из столбца «Продолжительность (мин)»: 142, 175, 152, 195, 201. Выведите на экран содержимое переменной.
duration = [142,175,152,195,201] #сление значений
print(duration)
Задание 2
Запишите в список значения из первой строки таблицы с фильмами. Результат сохраните в переменную first_row и выведите на экран её содержимое. Строки должны иметь тип str, целые числа — int, а вещественные числа — float.
first_row = ['Побег из Шоушенка','США',1994,'драма',142,9.111] #создайте список здесь
print(first_row) #напечатайте список здесь
3.3 Индексы и срезы.
Задание 1
В списке second_row хранятся значения второй строки таблицы. Получите по индексу страну производства фильма. Сохраните значение в переменную country. Выведите на экран содержимое country.
second_row = ['Крёстный отец', 'США', 1972, 'драма, криминал', 175, 8.730]
country = second_row[1] # напишите ваш код здесь
print (country) #выведите на экран здесь
Задание 2
Получите срез значений:
начало среза — год выпуска, 1972;
конец — продолжительность, 175.
Сохраните срез в переменную movie_slice.
second_row = ['Крёстный отец', 'США', 1972, 'драма, криминал', 175, 8.730]
movie_slice = second_row[2:5] #напишите ваш код здесь
print(movie_slice)
3.4 Добавление и удаление элементов.
Задание 1¶
В списке stalker_info — данные о фильме «Сталкер». Но не хватает значений из последних трёх колонок: жанр — 'фантастика, драма, детектив', продолжительность — 163, рейтинг — 8.083. Добавьте эти значения в список методом extend() в том же порядке. Результат выведите на экран.
stalker_info = ['Сталкер', 'СССР', 1979]
stalker_info.extend(['фантастика, драма, детектив',163,8.083]) # используйте метод extend() здесь
print(stalker_info) # выведите список на экран здесь
3.5 Сложение и умножение списков.
Задание 1
Сложите два списка в том же порядке, в котором они объявлены. Складывайте именно переменные first_part и second_part. Сохраните результат в переменной movie_info и выведите на экран её содержимое.
first_part = ['Криминальное чтиво', 'США', 1994]
second_part = ['триллер, комедия, криминал', 154, 8.619]
movie_info = first_part + second_part # создайте переменную movie_info здесь
print (movie_info) # здесь выведите получившийся список movie_info на экран
Задание 2
Сохраните в переменную список из 100 нулей. Для этого умножьте список с одним 0 на 100. Содержимое переменной выведите на экран.
zeros = [0]
zeros = zeros * 100 #напишите ваш код здесь
print (zeros)
3.6 Сортировка.
Задание 1
Вызовите метод sort(), чтобы отсортировать список movies по возрастанию. Выведите результат на экран.
movies = ['Хороший, плохой, злой', 'Криминальное чтиво', 'Бойцовский клуб', 'Харакири', 'Сталкер']
movies.sort() # отсортируйте список здесь
print(movies) # выведите список на экран здесь
Задание 2
Отсортируйте список movies_duration по убыванию методом sort(). Выведите результат на экран.
movies_duration = [142, 175, 152, 195, 201, 154, 178, 139]
movies_duration.sort(reverse=True) # отсортируйте список здесь
print(movies_duration) # выведите список на экран здесь
Задание 3
Отсортируйте по убыванию список movies_duration. Но на этот раз вызовите функцию sorted(). Результат сохраните в переменной movies_duration_sorted и выведите на экран.
movies_duration = [142, 175, 152, 195, 201, 154, 178, 139]
movies_duration_sorted = sorted(movies_duration, reverse=True) # напишите ваш код здесь
print(movies_duration_sorted) # напечатайте получившийся список здесь
3.7 Поиск элементов.
Задание 1
С помощью метода index() найдите номер элемента списка band_list c именем гитариста группы Red Hot Chili Peppers Джона Фрушанте. Сохраните индекс в переменной guitarist_ind и выведите её на экран.
band_list = ['Энтони Кидис', 'Фли', 'Джон Фрушанте', 'Чад Смит']
guitarist_ind = band_list.index('Джон Фрушанте') # напишите ваш код здесь
print (guitarist_ind) # выведите значение на экран здесь
3.8 Списки и строки.
Задание 1
Разбейте строку phrase на список слов с именами героев мультфильмов. Разделителем служит символ # . Сохраните результат в переменной words.
phrase = 'Aladdin#Esmeralda#Hercules#Mulan'
words = phrase.split('#') #напишите ваш код здесь
print(words)
Задание 2
Соедините названия станций московского метро из списка stations в строку с разделителем >. Результат сохраните в переменную info.
stations = ['Кропоткинская', 'Парк культуры', 'Фрунзенская', 'Спортивная']
info = '>'.join(stations) # напишите ваш код здесь
print(info) # нужно получить 'Кропоткинская>Парк культуры>Фрунзенская>Спортивная'
3.9 Заключение.
Шпаргалка темы:
https://code.s3.yandex.net/data-analyst/praktikum_data_analysis_takeaways_basicPython_theme3.pdf.
3.10 Проверочные задания. Списки.
Задание 1 из 10 Какие элементы могут быть в списке? Выберите один вариант.
Любые объекты
Задание 2 из 10 Что называют длиной списка? Выберите один вариант.
Количество элементов в списке
Задание 3 из 10 Какая функция найдёт длину списка?
len()
Задание 4 из 10 Что получится, если сложить два списка и более?
Список
Задание 5 из 10 Если умножить список на целое число, что получится?
Список
Задание 6 из 10 Что получится, если умножить список на вещественное число?
Ошибка
Задание 7 из 10 Какие методы применяют к спискам? Выберите несколько вариантов.
append()
extend()
Задание 8 из 10 С какого числа начинается нумерация в списке?
0
Задание 9 из 10 Какой метод добавит ровно один элемент в конец списка?
append()
Задание 10 из 10 Какой метод добавит несколько элементов в конец списка за одну операцию?
extend()
Вернуться в Начало статьи
4.1 Введение.
4.2 Понятие цикла. Перебор элементов списка.
Задание 1
С помощью цикла for переберите и выведите на экран элементы списка duration_list — каждый с новой строки.
duration_list = [142, 175, 152, 195]
for i in duration_list:# напишите цикл for здесь
print(i)
Задание 2
В цикле for выведите на экран каждый элемент списка movie_info с новой строки.
movie_info = ['Хороший, плохой, злой', 'Италия', 1966, 'вестерн', 178, 8.521]
# напишите цикл for здесь
for i in movie_info:
print (i)
4.3 Перебор элементов списка. Функция range()
Задание 1
Инопланетяне оставляют загадочные послания каждый день. Помогите им: напечатайте сообщение ALIENS на экране 100 раз с помощью цикла for.
for i in range(100):
print('ALIENS') # напечатайте ваш код здесь
Задание 2
В списке movies_duration продолжительность нескольких фильмов указана в минутах. Их показывают с рекламой, поэтому длительность каждого фильма увеличивается на 2 минуты. Прибавьте 2 к каждому элементу списка.
movies_duration = [142, 175, 152, 195, 201]
for i in range(len(movies_duration)): # напишите ваш код здесь
movies_duration[i] += 2
print(movies_duration)
4.4 Циклы и встроенные функции для обработки списков.
Встроенная функция max(), min():
movies_duration = [142, 175, 152, 195, 201, 154, 178, 139, 133, 163, 136]
max_duration = max(movies_duration)
print (max_duration)
Задание 2
Найдите суммарный балл с помощью встроенной функции и сохраните его в переменную total. Удалите комментарий, начинающийся с #, и допишите ваш код на той же строке.
marks = [90, 85, 83, 92]
total = sum(marks) # напишите ваш код здесь
print(total)
Задание 3
С помощью встроенной функции найдите максимальный балл в списке marks и сохраните в переменную max_mark.
marks = [90, 85, 83, 92]
max_mark = max(marks) # напишите ваш код здесь
print(max_mark)
4.5 Обработка списков с помощью циклов. Продолжение.
Задание 1
Найдите факториал числа 10 с помощью цикла for и сохраните значение факториала в переменной fact. Выведите полученное значение на экран.
number = 10
fact = 1 # присвойте начальное значение
# напишите цикл
for i in range(1,number+1):
fact *= i
print (fact)
Задание 2
Найдите факториал числа 10 с помощью функции factorial() из модуля math. Результат сохраните в переменной fact и выведите на экран.
import math
number = 10
fact = math.factorial(number) # напишите ваш код здесь
print(fact)
4.6 Заключение
Шпаргалка темы.
https://code.s3.yandex.net/data-analyst/praktikum_data_analysis_takeaways_basicPython_theme4.pdf
4.7 Проверочные задания. Цикл for
Задание 1 из 10 Циклы нужны, чтобы вызывать одни и те же команды несколько раз. Как называется каждый такой повтор?
Итерацией
Выводом цикла
Задание 2 из 10 Где объявляют переменную-итератор?
В заголовке цикла for
Задание 3 из 10 Цикл выведет на экран несколько чисел. Назовите их, не запуская код.
for i in range(10): print(i)
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Задание 4 из 10 Где находятся инструкции, которые выполняет цикл?
В теле цикла
Задание 5 из 10 Сколько инструкций может выполнить цикл за одну итерацию?
Сколько уÐ