Главная страница

книга заданий пайтон. книга практических заданий, pyton. Сборник упражнений Введение в язык Python с задачами и решениями Бен Стивенсон Москва, 2021 удк 004. 438Python


Скачать 2.24 Mb.
НазваниеСборник упражнений Введение в язык Python с задачами и решениями Бен Стивенсон Москва, 2021 удк 004. 438Python
Анкоркнига заданий пайтон
Дата02.10.2022
Размер2.24 Mb.
Формат файлаdocx
Имя файлакнига практических заданий, pyton.docx
ТипСборник упражнений
#709959
страница55 из 69
1   ...   51   52   53   54   55   56   57   58   ...   69

Глава 11 Повторения

Упражнение 66. Никаких центов


##

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

#

PENNIES_PER_NICKEL = 5

NICKEL = 0.05

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

# Собираем общую сумму total = 0.00

# Запрашиваем цену первого товара как строку line = input("Введите цену товара (пустая строка для выхода): ")

# Продолжаем запрашивать цены товаров, пока строка не будет оставлена пустой while line != "": # Добавляем цену в общей сумме (после перевода ее в число с плавающей запятой) total = total + float(line) # Запрашиваем цену следующего товара line = input("Введите цену товара (пустая строка для выхода): ")

# Показываем полную сумму к оплате print("Полная сумма к оплате: %.02f" % total)

# Считаем, сколько центов осталось бы, если бы мы оплатили всю покупку 5–центовыми # монетами rounding_indicator = total * 100 % PENNIES_PER_NICKEL if rounding_indicator < PENNIES_PER_NICKEL / 2:

# Если оставшаяся сумма центов меньше 2,5, округляем значение путем вычитания # полученного количества центов из общей суммы cash_total = total – rounding_indicator / 100 else: # Иначе добавляем 5 центов и затем вычитаем нужное количество центов cash_total = total + NICKEL – rounding_indicator / 100

# Выводим итоговую сумму для оплаты

print("Сумма для оплаты наличными: %.02f" % cash_total)

Упражнение 67. Найти периметр многоугольника


##

# Рассчитаем периметр многоугольника, построенного на основании координат точек,

# введенных пользователем. Пустая строка завершает ввод данных # from math import sqrt

# Переменная для хранения периметра многоугольника perimeter = 0

# Запрашиваем координаты первой точки first_x = float(input("Введите первую координату X: ")) first_y = float(input("Введите первую координату Y: "))

# Инициализируем координаты предыдущей точки начальными значениями prev_x = first_x prev_y = first_y

# Запрашиваем остальные координаты line = input("Введите следующую координату X (Enter для окончания ввода): ") while line != "": # Преобразуем координату X в число и запрашиваем координату Y x = float(line) y = float(input("Введите следующую координату Y: "))

# Рассчитываем расстояние до предыдущей точки и добавляем к периметру dist = sqrt((prev_x – x) ** 2 + (prev_y – y) ** 2) perimeter = perimeter + dist

Расстояние между точками на плоскости можно рассчитать по теореме Пифагора.

# Устанавливаем значения предыдущих координат # для следующей итерации prev_x = x prev_y = y

# Запрашиваем следующую координату X line = input("Введите следующую координату X (Enter для окончания ввода): ")

# Рассчитываем расстояние от последней точки до первой и добавляем к периметру dist = sqrt((first_x – x) ** 2 + (first_y – y) ** 2)

perimeter = perimeter + dist

# Отображаем результат

print("Периметр многоугольника равен", perimeter)

Упражнение 69. Билеты в зоопарк


##

# Рассчитать стоимость посещения зоопарка для группы

#

# Константы для хранения цен на разные категории билетов

BABY_PRICE = 0.00

CHILD_PRICE = 14.00

ADULT_PRICE = 23.00

SENIOR_PRICE = 18.00

# Сохраним как константы возрастные ограничения

BABY_LIMIT = 2

CHILD_LIMIT = 12

ADULT_LIMIT = 64

# Переменная для хранения общей суммы посещения total = 0

# Читаем ввод пользователя до пустой строки line = input("Введите возраст посетителя (пустая строка для окончания ввода): ") while line != "": age = int(line)

С нынешними правилами первый блок if-elif-else в нашей программе можно и не писать. Но он пригодится, если власти отменят бесплатное посещение зоопарка для маленьких деток.

# Добавляем цену билета к общей сумме if age <= BABY_LIMIT:

total = total + BABY_PRICE elif age <= CHILD_LIMIT:

total = total + CHILD_PRICE elif age <= ADULT_LIMIT:

total = total + ADULT_PRICE else: total = total + SENIOR_PRICE

# Считываем возраст следующего посетителя line = input("Введите возраст посетителя (пустая строка для окончания ввода): ")

# Отображаем сумму группового посещения с правильным форматированием print("Сумма посещения зоопарка для этой группы составит $%.2f" % total)
1   ...   51   52   53   54   55   56   57   58   ...   69


написать администратору сайта