diff --git a/1_if1.py b/1_if1.py index be736084..c3bce084 100644 --- a/1_if1.py +++ b/1_if1.py @@ -19,7 +19,20 @@ def main(): Эта функция вызывается автоматически при запуске скрипта в консоли В ней надо заменить pass на ваш код """ - pass + age = int(input('Please enter your age:')) + + def detect(age): + if 3 <= age <= 6: + return 'You should be in kindergarden' + elif 7 <= age <=18: + return 'You should be in school boy' + elif 18 <= age <= 23: + return 'You should be in University dude' + else: + return 'You should probably work man' + + result = detect (age) + print(result) if __name__ == "__main__": main() diff --git a/2_if2.py b/2_if2.py index 0f1644f3..6c3b0412 100644 --- a/2_if2.py +++ b/2_if2.py @@ -20,7 +20,28 @@ def main(): Эта функция вызывается автоматически при запуске скрипта в консоли В ней надо заменить pass на ваш код """ - pass + def comapre_str(string1, string2): + if type(string1) is str and type(string2) is str: + len1 = len(string1) + len2 = len(string2) + + if len1 == len2: + return 1 + elif len1 > len2: + return 2 + elif string1 != string2: + return 3 + else: + return 'No rule for such combinations' + else: + return 0 + + for i in range(0, 4): + x = {0:1, 1:'Learn',2:'hello', 3:'python3'} + y = {0:'Python', 1:'learn',2:'hello', 3:'PYTHON'} + result = comapre_str(x[i], y[i]) + print(result) + #print(x[i], y[i]) if __name__ == "__main__": main() diff --git a/3_for.py b/3_for.py index 5ca9f504..629fbf3a 100644 --- a/3_for.py +++ b/3_for.py @@ -21,7 +21,26 @@ def main(): Эта функция вызывается автоматически при запуске скрипта в консоли В ней надо заменить pass на ваш код """ - pass + product_sell = [ + {'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]}, + ] + total_sale = 0 + total_average_sale = 0 + + for i in range(len(product_sell)): + item = product_sell[i].get('product', 'no item') + sale = product_sell[i].get('items_sold', 0) + + sum_of_sale = sum(sale) + average_sale = sum(sale) / len(sale) + total_sale += sum_of_sale + total_average_sale += average_sale + + print(f"{item}, Total amount of sale: {sum_of_sale}, Average number of sale:{average_sale}") + + print(f"All items total sales: {total_sale}, All items average sales: {total_average_sale}") if __name__ == "__main__": main() diff --git a/4_while1.py b/4_while1.py index b5791517..925456aa 100644 --- a/4_while1.py +++ b/4_while1.py @@ -14,8 +14,12 @@ def hello_user(): """ Замените pass на ваш код """ - pass - + answer = '' + + while True: + answer = input('How are you?').lower() + if answer == "good": + break if __name__ == "__main__": hello_user() diff --git a/5_while2.py b/5_while2.py index 49012dfd..0e814461 100644 --- a/5_while2.py +++ b/5_while2.py @@ -21,7 +21,20 @@ def ask_user(answers_dict): """ Замените pass на ваш код """ - pass + dicts = { + "как дела": "Хорошо!", "что делаешь": "Программирую", "сколько тебе лет":"У меня нет возраста", "любишь питон":"Да" + } + while True: + answer = input("Задай свой вопрос:").lower() + if answer[-1] == '?': + answer = answer.rstrip('?') + + if answer in ("Пока", "пока"): + print("Пока!") + break + else: + print(f"Пользователь: {answer}\nПрограмма:{dicts.get(answer, 'У меня нет ответа на данный вопрос')}") + if __name__ == "__main__": ask_user(questions_and_answers) diff --git a/6_exception1.py b/6_exception1.py index 3ea9d054..358b3f45 100644 --- a/6_exception1.py +++ b/6_exception1.py @@ -14,7 +14,17 @@ def hello_user(): """ Замените pass на ваш код """ - pass + answer = '' + + while True: + try: + answer = input('How are you?') + if answer in ('Good', 'good'): + break + except KeyboardInterrupt: + print('\n', 'Good-bye!!!') + break + if __name__ == "__main__": hello_user() diff --git a/7_exception2.py b/7_exception2.py index d4bd8a39..996d3ae5 100644 --- a/7_exception2.py +++ b/7_exception2.py @@ -13,16 +13,24 @@ """ -def discounted(price, discount, max_discount=20) +def discounted(price, discount, max_discount=20): """ Замените pass на ваш код """ - pass + try: + price, discount, max_discount = float(price), float(discount), int(max_discount) + if max_discount >= 100: + raise ValueError('Слишком большая максимальная скидка') + return price - (price * discount / 100) + except ValueError: + print('Переданы некорректные аргументы') + except TypeError: + print('Не сработало приведение типов данных!') if __name__ == "__main__": print(discounted(100, 2)) print(discounted(100, "3")) print(discounted("100", "4.5")) print(discounted("five", 5)) - print(discounted("сто", "десять")) - print(discounted(100.0, 5, "10")) + print(discounted("сто", "десять","five")) + print(discounted(100.0, 100, "10")) diff --git a/8_ephem_bot.py b/8_ephem_bot.py index 1cf9ea19..f1b0f4f7 100644 --- a/8_ephem_bot.py +++ b/8_ephem_bot.py @@ -12,7 +12,7 @@ бота отвечать, в каком созвездии сегодня находится планета. """ -import logging +import logging, ephem, settings, datetime from telegram.ext import Updater, CommandHandler, MessageHandler, Filters @@ -20,7 +20,7 @@ level=logging.INFO, filename='bot.log') - +""" PROXY = { 'proxy_url': 'socks5://t1.learn.python.ru:1080', 'urllib3_proxy_kwargs': { @@ -28,7 +28,27 @@ 'password': 'python' } } +""" +def get_constellation(update, context): + try: + user_planet = update.message.text.split()[1].lower() + current_date = datetime.datetime.now().strftime('%Y/%m/%d') + planets = { + 'mercury': ephem.Mercury(), 'venus':ephem.Venus(), 'mars':ephem.Mars(),'jupiter':ephem.Jupiter(), + 'saturn':ephem.Saturn(), 'uranus':ephem.Uranus(), 'neptun':ephem.Neptune() + } + + if user_planet != '': + planet = planets.get(user_planet) + compute = planet.compute(current_date) + update.message.reply_text(ephem.constellation(planet)[1]) + except IndexError: + update.message.reply_text('ERROR! You do not determine the planet') + + u = ephem.planet + print() + ephem.constellation def greet_user(update, context): text = 'Вызван /start' @@ -39,14 +59,15 @@ def greet_user(update, context): def talk_to_me(update, context): user_text = update.message.text print(user_text) - update.message.reply_text(text) + update.message.reply_text(user_text) def main(): - mybot = Updater("КЛЮЧ, КОТОРЫЙ НАМ ВЫДАЛ BotFather", request_kwargs=PROXY, use_context=True) + mybot = Updater(settings.API_KEY) dp = mybot.dispatcher dp.add_handler(CommandHandler("start", greet_user)) + dp.add_handler(CommandHandler("planet", get_constellation)) dp.add_handler(MessageHandler(Filters.text, talk_to_me)) mybot.start_polling() diff --git a/settings.py b/settings.py new file mode 100644 index 00000000..53861cb2 --- /dev/null +++ b/settings.py @@ -0,0 +1 @@ +API_KEY = "7475700629:AAHvNdrcCzOdt2odHBippgfS7rFns1wAGQc" \ No newline at end of file