


Пожалуйста помогите решить задачу на Python. Упражнения 48,54,55,56
Упражнение 48. Знаки зодиака
(47 строк)
В гороскопах, наполняющих газеты и журналы, астрологи пытаются положение солнца в момент рождения человека как-то связать с его судьбой.
Всего насчитывается 12 знаков зодиака, и все они приведены в табл. 2.10.
Таблица 2.10. Знаки зодиака
Знак зодиака Даты Знак зодиака Даты
Козерог 22 декабря – 19 января Рак 21 июня – 22 июля
Водолей 20 января – 18 февраля Лев 23 июля – 22 августа
Рыбы 19 февраля – 20 марта Дева 23 августа – 22 сентября
Овен 21 марта – 19 апреля Весы 23 сентября – 22 октября
Телец 20 апреля – 20 мая Скорпион 23 октября – 21 ноября
Близнецы 21 мая – 20 июня Стрелец 22 ноября – 21 декабря
Напишите программу, запрашивающую у пользователя дату его рождения и выводящую на экран соответствующий знак зодиака.
Упражнение 54. Оценка работы
(Решено. 30 строк)
Представьте, что в компании проводится аттестация сотрудников в конце
каждого года. Шкала рейтинга начинается на отметке 0,0, и чем лучше
оценка, тем выше руководство оценивает сотрудника, а значит, тем больше будет его прибавка к зарплате. Рейтинг, присваиваемый сотрудникам,
может составлять значения 0,0, 0,4 или 0,6 и выше. Значения между 0,0
и 0,4, а также между 0,4 и 0,6 никогда не используются. Значения, ассоциированные с каждым рейтингом, показаны в табл. 2.14. Прибавка к зарплате сотрудника рассчитывается как рейтинг, умноженный на $2400,00.
Таблица 2.14. Таблица рейтингов
Рейтинг Значение
0,0 Низкий уровень
0,4 Удовлетворительный уровень
0,6 и выше Высокий уровень
Напишите программу, которая будет запрашивать у пользователя рейтинг
сотрудника и выводить соответствующее значение из приведенной таблицы.
Также необходимо показать сумму прибавки сотрудника. При вводе некорректного значения рейтинга программа должна об этом сообщать.
Упражнение 55. Длины волн видимой части спектра
(38 строк)
Длины волн видимой части спектра колеблются от 380 до 750 нанометров
(нм). И хотя сам спектр является непрерывным, его принято делить на
шесть цветов, как показано в табл. 2.15.
Таблица 2.15. Длины волн по цветам
Цвет Длина волны (нм)
Фиолетовый Больше или равно 380 и меньше 450
Синий Больше или равно 450 и меньше 495
Зеленый Больше или равно 495 и меньше 570
Желтый Больше или равно 570 и меньше 590
Оранжевый Больше или равно 590 и меньше 620
Красный Больше или равно 620 и меньше или равно 750
Запросите у пользователя длину волны и выведите на экран соответствующий ей цвет. Если введенное пользователем значение длины волны
окажется за пределами видимой части спектра, сообщите об этом.
Упражнение 56. Определение частоты
(31 строка)
Электромагнитные волны можно классифицировать по частоте на семь
категорий, как показано в табл. 2.16.
Таблица 2.16. Частоты электромагнитных волн
Категория Диапазон частот (Гц)
Радиоволны Менее 3×109
Микроволны От 3×109
до 3×1012
Инфракрасное излучение От 3×1012 до 4,3×1014
Видимое излучение От 4,3×1014 до 7,5×1014
Ультрафиолетовое излучение От 7,5×1014 до 3×1017
Рентгеновское излучение От 3×1017 до 3×1019
Гамма-излучение Более 3×1019
Напишите программу, которая будет запрашивать у пользователя значение частоты волны и отображать название соответствующего излучения.
№55.
colors = [(0, 'Ультрафиолетовый'), (380, 'Фиолетовый'), (450, 'Синий'), (495, 'Зелёный'),
(570, 'Жёлтый'), (590, 'Оранжевый'), (620, 'Красный'), (750, 'Инфракрасный')]
from bisect import bisect_left
w = float(input('Длина волны: '))
p = min(bisect_left(colors, (w,)), len(colors) - 1)
i = p if colors[p][0] <= w else p - 1
print(colors[i][1])
№56.
waves = [
(0, 'Радиоволны'),
(3e9, 'Микроволны'),
(3e12, 'Инфракрасное излучение'),
(4.3e14, 'Видимое излучение'),
(7.5e14, 'Ультрафиолетовое излучение'),
(3e17, 'Рентгеновское излучение'),
(3e19, 'Гамма-излучение')
]
from bisect import bisect_left
freq = float(input('Частота, Гц: '))
p = min(bisect_left(waves, (freq,)), len(waves) - 1)
i = p if waves[p][0] <= freq else p - 1
print(waves[i][1])
Дальше буду отвечать только на вопросы, содержащие одну задачу.