Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дз питон.docx
Скачиваний:
6
Добавлен:
03.02.2025
Размер:
5 Мб
Скачать
☆

Задание 1 (весеннее)

С приходом весны питон решил каждый день выползать погреться на солнышко. Однако он знал, что

солнце весной довольно активное, и поэтому разработал такую схему: в первый день он греется одну

минуту, а в каждый последующий день увеличивает время пребывания на солнце на 3 минуты.

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

некоторый выбранный день.

Внимание: ваш код должен выводить номер дня и число минут. Использовать циклы нельзя, в задании

предполагается многократный запуск ячеек с кодом.

d = int(input("Введите номер дня: "))

min = 1 + (d - 1) * 3

print(f"День {d}: Питон греется {min} минут")

Задание 2 (приветственное)

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

сообщение

Имя Фамилия, добро пожаловать!

fn = input("Введите ваше имя: ")

ln = input("Введите вашу фамилию: ")

print(f"{fn} {ln}, добро пожаловать!")

Задание 3 (кулинарно-политологическое)

Перед вами шаблон рецепта жизни политолога на факультете социальных наук:

…

Напишите код, который делает следующее: запрашивает у пользователя названия курсов (три отдельных вопроса), а потом подставляет их в имеющийся шаблон.

crs1 = input("Введите название первого курса: ")

crs2 = input("Введите название второго курса: ")

crs3 = input("Введите название третьего курса: ")

print("\nРецепт")

print(f"{crs1} : 200 г")

print(f"{crs2} : 300 г")

print(f"{crs3} : 100 г")

print("Приправить политической историей. Добавить математические модели по вкусу.")

Задание 4 (кулинарно-математическое)

У вас есть шаблон, похожий на шаблон рецепта из предыдущей задачи:

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

gr1 = float(input("Введите массу первого ингредиента (в граммах): "))

gr2 = float(input("Введите массу второго ингредиента (в граммах): "))

gr3 = float(input("Введите массу третьего ингредиента (в граммах): "))

kg1 = gr1 / 1000

kg2 = gr2 / 1000

kg3 = gr3 / 1000

print("\nРецепт")

print(f"политическая теория : {kg1:.3f} кг")

print(f"история политических учений: {kg2:.3f} кг")

print(f"математика: {kg3:.3f} кг")

print("Приправить политической историей. Добавить математические модели по вкусу.")

Семинар 2

Задача 1

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

одну строчку через пробел, и выводит на экран сообщения:

Ваша фамилия: фамилия

Ваше имя: имя

Ваше отчество: отчество

fullname = input("Введите Ваши ФИО: ")

l_name, f_name, otch = fullname.split()

print(f"Ваша фамилия: {l_name}")

print(f"Ваше имя: {f_name}")

print(f"Ваше отчество: {otch}")

Задача 2

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

• список из целых чисел

• список из чисел с плавающей точкой

string = "1; 2; 3; 100"

int = [int(num) for num in string.split("; ")]

print("Список целых чисел:", int)

string = "1; 2; 3; 100"

float = [float(num) for num in string.split("; ")]

print("Список чисел с плавающей точкой:", float)

Задача 3

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

phn = input("Введите номер телефона через дефис: ")

clnn = phn.replace("-", "").replace(" ", "")

print("Номер телефона без дефисов и пробелов:", clnn)

Задача 4

Напишите программу, которая принимает на вход список L, в котором хранятся значения доходов домохозяйств за месяц, а возвращает новый список L2 ‒ список логарифмированных значений доходов.

import math

L = list(map(float, input("Введите доходы домохозяйств через пробел: ").split()))

L2 = [math.log(income) for income in L]

print("Логарифмированные значения доходов:", L2)

Задача 5

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

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

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

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

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

words_clean = [word.strip().lower() for word in words]

print("Очищенный список слов:", words_clean)

Семинар 3

Задача 1

Напишите программу, которая просит пользователя ввести положительное число, и если пользователь вводит положительное число, выводит на экран сообщение "Молодец!", если нет ‒ "Это не положительное число.". Считайте, что пользователь в любом случае вводит числа, а не какой-то текст

number = float(input("Введите положительное число: "))

if number > 0:

print("Молодец!")

else:

print("Это не положительное число.")

Задача 2

Напишите программу, которая принимает на вход список оценок студентов от 1 до 10, выводит на экран оценку, а после нее, с новой строки, комментарий "Плохо", "Удовлетворительно", "Хорошо", "Отлично" в зависимости от оценки.

grades = list(map(int, input("Введите оценки студентов от 1 до 10 через пробел: ").split()))

for grade in grades:

print(grade)

if 1 <= grade <= 3:

print("Плохо")

elif 4 <= grade <= 5:

print("Удовлетворительно")

elif 6 <= grade <= 8:

print("Хорошо")

elif 9 <= grade <= 10:

print("Отлично")

else:

print("Такой оценки не существует")

Задача 3

Напишите программу, которая запрашивает у пользователя пароль, и далее: если пароль верный, выводит на экран сообщение "Login success".

если пароль неверный, выводит на экран сообщение "Incorrect password, try again!" до тех пор, пока пользователь не введет верный пароль.

correct_password = 12345

while True:

password = int(input("Введите пароль: "))

if password == correct_password:

print("Login success")

break

else:

print("Incorrect password, try again!")

Задача 4

У питона есть набор любимых чисел. favorites = [3, 7, 11, 23, 18, 48, 81] Напишите программу, которая просит пользователя ввести целое число, и если оно нравится питону, на экран будет выводиться сообщение: "Мое любимое число!", если нет ‒ "Эх, ну почему?"

favorites = [3, 7, 11, 23, 18, 48, 81]

number = int(input("Введите целое число: "))

if number in favorites:

print("Мое любимое число!")

else:

print("Эх, ну почему?")

Задача 5

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

number = int(input("Введите число: "))

if number % 2 == 0:

print("Это число чётное")

else:

print("Это число нечётное")

Задача 6

Напишите программу, которая просит пользователя ввести существительное, и если слово введено с большой буквы, то на экран выводится сообщение "Это имя собственное.", если с маленькой сообщение "Это имя нарицательное".

word = input("Введите существительное: ")

if word[0].isupper():

print("Это имя собственное.")

else:

print("Это имя нарицательное.")

Семинар 4 по темам: кортежи и словари

Задача 1

Дан словарь с названиями разных рептилий:

In [4]:

1 rept = {"python" : " питон",

2 "anaconda" : "анаконда",

3 "tortoize" : " черепаха" }

Добавьте в словарь пару "snake" - " змея".

Исправьте ключ "tortoize" на правильный "tortoise".

Выведите на экран сообщения вида

Питон по-английски будет python.

для всех слов в словаре (сообщение для каждого слова ‒ с новой строчки).

rept = {

"python": "питон",

"anaconda": "анаконда",

"tortoize": "черепаха"

}

rept["snake"] = "змея"

rept["tortoise"] = rept.pop("tortoize")

for eng, rus in rept.items():

print(f"{rus.capitalize()} по-английски будет {eng}.")

Задача 2

В списке cnt хранятся названия стран, а в списке fh – значения индекса Freedom House для этих стран. Создайте словарь, используя в качестве ключей названия стран, а в качестве значений

значения индекса.

In [5]:

1 cnt = ["Andorra", "Belarus", "Denmark",

2 "Kenya", "Jamaica", "Romania"]

3 fh = [1.0, 6.0, 1.0, 4.0, 2.5, 2.0]

cnt = ["Andorra", "Belarus", "Denmark", "Kenya", "Jamaica", "Romania"]

fh = [1.0, 6.0, 1.0, 4.0, 2.5, 2.0]

country_index = dict(zip(cnt, fh))

print(country_index)

Задача 3

Дан список, состоящий из пар чисел:

In [6]:

1 pairs = [(2, 4), (4, 6), (0, 1), (5, 2), (9, 1), (3, 8)]

Создайте словарь calc , где ключами являются пары чисел, а значениями – их произведение (произведение тоже должно считаться в Python, не в уме).

pairs = [(2, 4), (4, 6), (0, 1), (5, 2), (9, 1), (3, 8)]

calc = {}

for a, b in pairs:

calc[(a, b)] = a * b

print(calc)

Задача 4

Дан словарь grades с оценками студентов за контрольную работу в 5-балльной шкале. Напишите код, который сделает следующее:

Выведет на экран имя каждого студента и его оценку (каждый студент – с новой строки).

Сохранит имена студентов, получивших отличные оценки, в список excel . Сохранит имена студентов, получивших хорошие оценки, в список good . Сохранит имена студентов, получивших удовлетворительные оценки, в список satisf . Сохранит имена студентов, получивших плохие оценки, в список bad .

In [1]:

1 grades = {'Anna': 4, 'Bob': 3, 'Claire': 5, 'Dick': 2, 'Elena': 5,

2 'Fred': 5, 'George': 4, 'Kristina': 3, 'Nick': 2,

3 'Ursula': 4, 'Viktor': 5}

grades = {'Anna': 4, 'Bob': 3, 'Claire': 5, 'Dick': 2, 'Elena': 5,

'Fred': 5, 'George': 4, 'Kristina': 3, 'Nick': 2,

'Ursula': 4, 'Viktor': 5}

excel = []

good = []

satisf = []

bad = []

for student, grade in grades.items():

print(f'{student}: {grade}')

if grade == 5:

excel.append(student)

elif grade == 4:

good.append(student)

elif grade == 3:

satisf.append(student)

else:

bad.append(student)

print("\nСтуденты получившие отличные оценки:", excel)

print("Студенты получившие хорошие оценки:", good)

print("Студенты получившие удовлетворительные оценки:", satisf)

print("Студенты получившие плохие оценки:", bad)

Семинар 5

Задача 1

Напишите функцию square() , которая принимает на вход число и:

возвращает его квадрат;

выводит на экран сообщение вида "Квадрат числа равен: n" и ничего не возвращает;

выводит на экран сообщение вида "Квадрат числа равен: n" и возвращает квадрат числа;

Задача 2

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

Пример:

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

7

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

[6, 8]

Задача 3

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

Пример:

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

"В лесу родилась ёлочка В лесу она росла"

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

['в', 'лесу', 'родилась', 'ёлочка', 'в', 'лесу', 'она', 'росла']

Задача 4

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

Пример:

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

[1, 3, 2.5, -1, 9, 0, 2.71]

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

[0.0,

1.0986122886681098,

0.9162907318741551,

None,

2.1972245773362196,

None,

0.9969486348916096]

Задача 5

Напишите функцию, которая принимает на вход два списка (имена людей и их возраст) и делает следующее:

если эти два списка имеют одинаковую длину, то возвращает словарь с парами имя-возраст;

если эти два списка имеют разную длину, то функция выводит на экран сообщение "Списки имеют разную длину" и возвращает пустой словарь.

Пример:

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

["Ann", "Tim", "Sam"]

[12, 23, 17]

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

{"Ann": 12, "Tim": 23, "Sam": 17}

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

["Ann", "Tim", "Sam"]

[12, 23, 17, 45]

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

Списки имеют разную длину

{}

Задача 6

Напишите функцию binom_prob() , которая считает вероятность того, что проведя n испытаний

Бернулли с вероятностью успеха p , мы получим ровно k успехов. Эта функция принимает на вход три

аргумента: p , n и k и возвращает такой результат:

Для расчета биномиального коэффициента можно использовать функцию, написанную на лекции.

Соседние файлы в предмете Программирование на Python