diff --git a/1_if1.py b/1_if1.py index be736084..cdf0b928 100644 --- a/1_if1.py +++ b/1_if1.py @@ -4,11 +4,11 @@ Условный оператор: Возраст -* Попросить пользователя ввести возраст при помощи input и положить +* Попросить пользователя ввести возраст при помощи input и положить результат в переменную -* Написать функцию, которая по возрасту определит, чем должен заниматься пользователь: +* Написать функцию, которая по возрасту определит, чем должен заниматься пользователь: учиться в детском саду, школе, ВУЗе или работать -* Вызвать функцию, передав ей возраст пользователя и положить результат +* Вызвать функцию, передав ей возраст пользователя и положить результат работы функции в переменную * Вывести содержимое переменной на экран @@ -19,7 +19,16 @@ def main(): Эта функция вызывается автоматически при запуске скрипта в консоли В ней надо заменить pass на ваш код """ - pass + age = int(input('Введите ваш возраст: ')) + if 0 <= age < 7: + print('Детский сад') + elif 7 <= age < 18: + print('Школа') + elif 18 <= age < 22: + print('ВУЗ') + else: + print('Работать') + if __name__ == "__main__": main() diff --git a/2_if2.py b/2_if2.py index 0f1644f3..f4627f4e 100644 --- a/2_if2.py +++ b/2_if2.py @@ -5,12 +5,12 @@ Условный оператор: Сравнение строк * Написать функцию, которая принимает на вход две строки -* Проверить, является ли то, что передано функции, строками. +* Проверить, является ли то, что передано функции, строками. Если нет - вернуть 0 * Если строки одинаковые, вернуть 1 * Если строки разные и первая длиннее, вернуть 2 * Если строки разные и вторая строка 'learn', возвращает 3 -* Вызвать функцию несколько раз, передавая ей разные праметры +* Вызвать функцию несколько раз, передавая ей разные праметры и выводя на экран результаты """ @@ -20,7 +20,17 @@ def main(): Эта функция вызывается автоматически при запуске скрипта в консоли В ней надо заменить pass на ваш код """ - pass - + string_1, string_2 = input('Введите данные:'), input('Введите данные:') + if not string_1.isalpha() and not string_2.isalpha(): + return 0 + elif string_1 == string_2: + return 1 + elif string_1 == string_2 and len(string_1) > len(string_2): + return 2 + elif string_1 != string_2 and string_2 == 'learn': + return 3 + else: + return 'Неизвестные данные' + if __name__ == "__main__": main() diff --git a/3_for.py b/3_for.py index 5ca9f504..2bf0d9b3 100644 --- a/3_for.py +++ b/3_for.py @@ -6,7 +6,7 @@ * Дан список словарей с данными по колличеству проданных телефонов [ - {'product': 'iPhone 12', 'items_sold': [363, 500, 224, 358, 480, 476, 470, 216, 270, 388, 312, 186]}, + {'product': 'iPhone 12', 'items_sold': [363, 500, 224, 358, 480, 476, 470, 216, 270, 388, 312, 186]}, {'product': 'Xiaomi Mi11', 'items_sold': [317, 267, 290, 431, 211, 354, 276, 526, 141, 453, 510, 316]}, {'product': 'Samsung Galaxy 21', 'items_sold': [343, 390, 238, 437, 214, 494, 441, 518, 212, 288, 272, 247]}, ] @@ -21,7 +21,26 @@ def main(): Эта функция вызывается автоматически при запуске скрипта в консоли В ней надо заменить pass на ваш код """ - pass - + phones_sales = [ + {'product': 'iPhone 12', 'items_sold': [363, 500, 224, 358, 480, 476, 470, 216, 270, 388, 312, 186]}, + {'product': 'Xiaomi Mi11', 'items_sold': [317, 267, 290, 431, 211, 354, 276, 526, 141, 453, 510, 316]}, + {'product': 'Samsung Galaxy 21', 'items_sold': [343, 390, 238, 437, 214, 494, 441, 518, 212, 288, 272, 247]}, + ] + sum_price_sold = 0 + sum_item_sold = 0 + + for phone in phones_sales: + sum_price_sold += sum(items_sold(phone)) + sum_item_sold += len(items_sold(phone)) + print(len(items_sold(phone))) + print(round(sum(items_sold(phone)) / len(items_sold(phone)), 0)) + + print(round(sum_price_sold / sum_item_sold), 0) + + +def items_sold(phone): + return phone['items_sold'] + + if __name__ == "__main__": main() diff --git a/4_while1.py b/4_while1.py index b5791517..48a9d998 100644 --- a/4_while1.py +++ b/4_while1.py @@ -4,9 +4,9 @@ Цикл while: hello_user -* Напишите функцию hello_user(), которая с помощью функции input() спрашивает +* Напишите функцию hello_user(), которая с помощью функции input() спрашивает пользователя “Как дела?”, пока он не ответит “Хорошо” - + """ @@ -14,8 +14,10 @@ def hello_user(): """ Замените pass на ваш код """ - pass + insert_word = input('Как дела? ') + while insert_word.strip().capitalize() != 'Хорошо': + insert_word = input('Как дела? ') + - if __name__ == "__main__": hello_user() diff --git a/5_while2.py b/5_while2.py index 49012dfd..cc128f62 100644 --- a/5_while2.py +++ b/5_while2.py @@ -12,16 +12,20 @@ Пользователь: Что делаешь? Программа: Программирую - + """ -questions_and_answers = {} +questions_and_answers = {"Как дела": "Хорошо!", "Что делаешь": "Программирую"} def ask_user(answers_dict): """ Замените pass на ваш код """ - pass - + text = input("Введите вопрос: ").strip().capitalize() + while text not in questions_and_answers: + text = input("Введите вопрос: ").strip().capitalize() + else: + print(questions_and_answers[text]) + if __name__ == "__main__": ask_user(questions_and_answers) diff --git a/6_exception1.py b/6_exception1.py index 3ea9d054..64f1b1d3 100644 --- a/6_exception1.py +++ b/6_exception1.py @@ -4,17 +4,27 @@ Исключения: KeyboardInterrupt -* Перепишите функцию hello_user() из задания while1, чтобы она - перехватывала KeyboardInterrupt, писала пользователю "Пока!" +* Перепишите функцию hello_user() из задания while1, чтобы она + перехватывала KeyboardInterrupt, писала пользователю "Пока!" и завершала работу при помощи оператора break - + """ def hello_user(): """ Замените pass на ваш код """ - pass - + try: + text = input('Как дела?: ') + except KeyboardInterrupt: + return + while text.strip().capitalize() != 'Хорошо': + try: + text = input('Как дела?: ') + + except KeyboardInterrupt: + print('Пока!') + break + if __name__ == "__main__": hello_user() diff --git a/7_exception2.py b/7_exception2.py index d4bd8a39..c2808a93 100644 --- a/7_exception2.py +++ b/7_exception2.py @@ -10,15 +10,40 @@ * Первые два нужно приводить к вещественному числу при помощи float(), а третий - к целому при помощи int() и перехватывать исключения ValueError и TypeError, если приведение типов не сработало. - + """ -def discounted(price, discount, max_discount=20) +def discounted(price, discount, max_discount=20): """ Замените pass на ваш код """ - pass - + try: + price = float(price) + except (ValueError, TypeError): + return 'eRRor' + try: + discount = float(discount) + except (ValueError, TypeError): + return 'eRRor' + try: + max_discount = int(max_discount) + except (ValueError, TypeError): + return 'eRRor' + try: + price = abs(price) + except: + discount = abs(discount) + try: + max_discount = abs(max_discount) + if max_discount >= 100: + raise ValueError('Слишком большая максимальная скидка') + if discount >= max_discount: + return price + else: + return price - (price * discount / 100) + except (ValueError, TypeError): + return 'eRRor' + if __name__ == "__main__": print(discounted(100, 2)) print(discounted(100, "3"))