книга заданий пайтон. книга практических заданий, pyton. Сборник упражнений Введение в язык Python с задачами и решениями Бен Стивенсон Москва, 2021 удк 004. 438Python
Скачать 2.24 Mb.
|
Упражнение 54. Оценка работы## # Определение оценки работы сотрудников при помощи рейтингов от пользователя # RAISE_FACTOR = 2400.00 UNACCEPTABLE = 0 ACCEPTABLE = 0.4 MERITORIOUS = 0.6 # Запрашиваем у пользователя рейтинг rating = float(input("Введите рейтинг: ")) # Классифицируем сотрудников if rating == UNACCEPTABLE: performance = "низкий" elif rating == ACCEPTABLE: performance = "удовлетворительный" elif rating >= MERITORIOUS: performance = "высокий" else: performance = "" #Выводим результат if performance == "": print("Введен ошибочный рейтинг.") else: print("Основываясь на введенном рейтинге, ваш уровень: %s." % \ performance) print("Прибавка к зарплате составит: $%.2f." % \ (rating * RAISE_FACTOR)) Необходимость заключать выражение rating * RAISE_FACTOR в последней строке кода в скобки объясняется тем, что операторы % и * имеют равный приоритет. Добавление скобок позволило сообщить Python, что сначала нужно выполнить математическую операцию, а затем – операцию форматирования. Упражнение 58. Високосный год? ## # Определяем, високосный заданный год или нет # # Запрашиваем у пользователя год year = int(input("Введите год: ")) # Определяем, високосный или нет if year % 400 == 0: isLeapYear = True elif year % 100 == 0: isLeapYear = False elif year % 4 == 0: isLeapYear = True else: isLeapYear = False # Отображаем результат if isLeapYear: print(year, " – високосный год.") else: print(year, " – невисокосный год.") Упражнение 61. Действительный номерной знак машины? ## Определяем формат номерного знака. Всего допустимых формата два: # 1) 3 буквы и 3 цифры # 2) 4 цифры 3 буквы # Запрашиваем номер у пользователя plate = input("Введите номерной знак машины: ") # Проверяем номерной знак. Необходимо проверить все 6 знаков для номера старого образца # и 7 знаков – для нового if len(plate) == 6 and \ plate[0] >= "A" and plate[0] <= "Z" and \ plate[1] >= "A" and plate[1] <= "Z" and \ plate[2] >= "A" and plate[2] <= "Z" and \ plate[3] >= "0" and plate[3] <= "9" and \ plate[4] >= "0" and plate[4] <= "9" and \ plate[5] >= "0" and plate[5] <= "9": print("Это номерной знак старого образца.") elif len(plate) == 7 and \ plate[0] >= "0" and plate[0] <= "9" and \ plate[1] >= "0" and plate[1] <= "9" and \ plate[2] >= "0" and plate[2] <= "9" and \ plate[3] >= "0" and plate[3] <= "9" and \ plate[4] >= "A" and plate[4] <= "Z" and \ plate[5] >= "A" and plate[5] <= "Z" and \ plate[6] >= "A" and plate[6] <= "Z": print("Это номерной знак нового образца.") else: print("Неверный номерной знак.") Упражнение 62. Играем в рулетку## # Определяем выпавший номер на рулетке и выигрыш # from random import randrange # Симулируем запуск рулетки, используя число 37 для представления номера 00 value = randrange(0, 38) if value == 37: print("Выпавший номер: 00...") else: print("Выпавший номер: %d..." % value) # Отображаем выигрыш для одного числа if value == 37: print("Выигравшая ставка: 00") else: print("Pay", value) # Отображаем выигрыш по цветам # В первой строке проверяем число на вхождение в ряд 1, 3, 5, 7 и 9 # Во второй строке проверяем число на вхождение в ряд 12, 14, 16 и 18 # В третьей строке проверяем число на вхождение в ряд 19, 21, 23, 25 и 27 # В четвертой строке проверяем число на вхождение в ряд 30, 32, 34 и 36 if value % 2 == 1 and value >= 1 and value <= 9 or \ value % 2 == 0 and value >= 12 and value <= 18 or \ value % 2 == 1 and value >= 19 and value <= 27 or \ value % 2 == 0 and value >= 30 and value <= 36:
print("Выигравшая ставка: красное") elif value == 0 or value == 37: pass else: print("Выигравшая ставка: черное") # Отображаем выигрыш по чет/нечет if value >= 1 and value <= 36: if value % 2 == 1: print("Выигравшая ставка: нечетное") else: print("Выигравшая ставка: четное") # Отображаем выигрыш по низ/верх if value >= 1 and value <= 18: print("Выигравшая ставка: от 1 до 18") elif value >= 19 and value <= 36: print("Выигравшая ставка: от 19 до 36") |