diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5849610 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ + +lesson_1/stuf/hw_1_psm.py +lesson_1/lesson1.py +lesson_1/lesson1_2.py diff --git a/lesson1_task_1.py b/lesson1_task_1.py new file mode 100644 index 0000000..65b88af --- /dev/null +++ b/lesson1_task_1.py @@ -0,0 +1,23 @@ +'''1. Поработайте с переменными, создайте несколько, выведите на экран, запросите у пользователя несколько чисел и строк и сохраните в переменные, выведите на экран.''' + +FLOOR = 10 # номер этажа с ЛАЗ +super_target_name = "John Conor" # Враг роботов №1 +SELF_DISTRUCT_DELAY_MIN = 5 # Задержка обратного отсчёта системы самоуничтожения + # ССЫЛКУ НЕ ОТКРЫВАТЬ +balance_sheet_token_url = "https://fbi.gov/agency/ru/api/balance=?398gh3ng538gh5338th" + +print(f'\n*Этаж {FLOOR}*\nЦель для атаки: {super_target_name}\nCсылка для загрузки вируса: {balance_sheet_token_url}') # Вывод параметров задания для агента + +user_name = str(input('\nВведите ваше имя: \n')) +print("Привет, " + user_name) # Отображение имени активного пользователя +user_guess = int(input('Enter positive integer 1 - 100: \n')) # Пользователь вводит число от 1 до 100 + +size = str(input('Введите размер вашей одежды (SS - XXL): \n')) +perfecrt_color = str(input('Введите подходящий вам цвет: \n')) + +if perfecrt_color != "зеленый": + print("Вы ошиблись и ввели " + perfecrt_color + ", но ничего мы поможем вам.") + perfecrt_color = "зеленый" + +print(f'Для вас заказано: футбока "I💝PY" {user_guess} шт. {size}, цвет {perfecrt_color}\n') +print('Ожидайте курьера, и да... мы знаем ваш адрес') diff --git a/lesson1_task_2.py b/lesson1_task_2.py new file mode 100644 index 0000000..6e90777 --- /dev/null +++ b/lesson1_task_2.py @@ -0,0 +1,14 @@ +'''2. Пользователь вводит время в секундах. Переведите время в часы, минуты и секунды и выведите в формате чч:мм:сс. Используйте форматирование строк.''' + +time_input = int(input("Введите время в секундах:")) +hours = time_input // 3600 # получаем количество_часов(hours) - +minutes = (time_input - hours * 3600) // 60 # получаем количество_минут +seconds = time_input - hours * 3600 - minutes * 60 #получаем секунды + +def int_to_time(a): + '''добавляем 0 если значение аргумента 1 символ ''' + if len(str(a)) < 2: + a = "0" + str(a) + return a + +print(f'{int_to_time(hours)}:{int_to_time(minutes)}:{int_to_time(seconds)}') #Вывод результата diff --git a/lesson1_task_3.py b/lesson1_task_3.py new file mode 100644 index 0000000..d46d8cf --- /dev/null +++ b/lesson1_task_3.py @@ -0,0 +1,42 @@ +'''3. Узнайте у пользователя число n. Найдите сумму чисел n + nn + nnn.''' + +def input_integer(): + # Проверяет ввод, возвращает введенное число + # Дает возможность повторить ввод при ошибке + while True: + _input = input('\nEnter a number:\n') + if _input.isdigit(): + _input = int(_input) + return _input + else: + print('Error! signature you have typed is not a number!') + +count = 0 +tmp = user_input = input_integer() + +while tmp: # Пока tmp True, не равняется 0 + # tmp = tmp // 10 + # Как только при отделении остатка от числа tmp доходит до 0 оно выдаёт False и цикл прекращается (🤯) + tmp //= 10 + count += 1 + +nn_div = 10 ** count + 1 +nnn_div = (10 ** (count * 2)) + nn_div + +result = user_input + (user_input * nn_div) + (user_input * nnn_div) +print(f"\nCумма чисел n + nn + nnn = {result}\n") + + +""" Вариант со строкой """ + +print('-' * 31 + "\n") + +while True: + user_num = input('Введите целое число:\n') + if user_num.isdigit(): + break + else: + print('Error! Прошу!\n!!Введите положительное число!!\n') + +result = int(user_num) + int(user_num * 2) + int(user_num * 3) +print(result) diff --git a/lesson1_task_4.py b/lesson1_task_4.py new file mode 100644 index 0000000..026f880 --- /dev/null +++ b/lesson1_task_4.py @@ -0,0 +1,33 @@ +'''4. Пользователь вводит целое положительное число. Найдите самую большую цифру в числе. Для решения используйте цикл while и арифметические операции.''' + +def input_integer(): + # Проверяет ввод, возвращает введенное число + # Дает возможность повторить ввод при ошибке + while True: + _input = input('\nEnter a number:\n') + if _input.isdigit(): + _input = int(_input) + return _input + else: + print('Error! signature you have typed is not a number!') + +user_num = input_integer() +result = 0 +while user_num and result != 9: + tmp = user_num % 10 + if tmp > result: + result = tmp + user_num //= 10 + +print(result) + +# Вариант 2 + +user_num = str(input_integer()) +result = 9 +while result: + if str(result) in user_num: + break + result -= 1 + +print(result) \ No newline at end of file diff --git a/lesson1_task_5.py b/lesson1_task_5.py new file mode 100644 index 0000000..f4866c9 --- /dev/null +++ b/lesson1_task_5.py @@ -0,0 +1,34 @@ +'''5. Запросите у пользователя значения выручки и издержек фирмы. Определите, с каким финансовым результатом работает фирма (прибыль — выручка больше издержек, или убыток — издержки больше выручки). Выведите соответствующее сообщение. Если фирма отработала с прибылью, вычислите рентабельность выручки (соотношение прибыли к выручке). Далее запросите численность сотрудников фирмы и определите прибыль фирмы в расчете на одного сотрудника.''' + +def input_integer(): + # Проверяет ввод, возвращает введенное число + # Дает возможность повторить ввод при ошибке + while True: + _input = input() + if _input.isdigit(): + _input = int(_input) + return _input + else: + print('Error! signature you have typed is not a number!\n') + +print('\nУкажите объем выручки:') +revenue = input_integer() # Выручка +print('\nУкажите объем издержек:') +cost = input_integer() # Издержки + # Прибыль = выручка - издержки +profit = revenue - cost + +if revenue < cost: + print('\nУбыток — издержки больше') +else: + print('\nПрибыль — выручка больше издержек') + # Рентабельность = выручка/прибыль + profitability = revenue / profit + # Запрос числа сотрудников + print('\nУкажите количество сотрудников:') + staff = input_integer() + # Вычислить рентабельность прибыль / число сотрудников + print("На одного сотрудника прибыль составляет") + print(str(profit / staff) + " у.е.\n") + profitability=round(profitability, 2) + print(f'#DBG рентабельность = {profitability}') diff --git a/lesson1_task_6.py b/lesson1_task_6.py new file mode 100644 index 0000000..f3065d6 --- /dev/null +++ b/lesson1_task_6.py @@ -0,0 +1,35 @@ +'''6. Спортсмен занимается ежедневными пробежками. В первый день его результат составил a километров. Каждый день спортсмен увеличивал результат на 10 % относительно предыдущего. Требуется определить номер дня, на который общий результат спортсмена составить не менее b километров. Программа должна принимать значения параметров a и b и выводить одно натуральное число — номер дня.''' + +'''Например: a = 2, b = 3. +Результат: +1-й день: 2 +2-й день: 2,2 +3-й день: 2,42 +4-й день: 2,66 +5-й день: 2,93 +6-й день: 3,22 +Ответ: на 6-й день спортсмен достиг результата — не менее 3 км.''' + +def input_integer(): + # Проверяет ввод, возвращает введенное число + # Дает возможность повторить ввод при ошибке + while True: + _input = input() + if _input.isdigit(): + _input = int(_input) + return _input + else: + print('Error! signature you have typed is not a number!\n') + +day_count = 1 + +a_km = input_integer() #В первый день его результат составил a километров. +b_km = input_integer() + +while a_km < b_km: #Определим номер дня, на который общий результат спортсмена составить не менее b километров. + print(f'{day_count}-й день: {round(a_km,2)}') + a_km = a_km * 1.1 #Каждый день спортсмен увеличивал результат на 10 % относительно предыдущего. + day_count += 1 + +print(f'{day_count}-й день: {round(a_km,2)}') +print(f'Ответ: на {day_count}-й день спортсмен достиг результата — не менее {round(b_km,0)} км')#выводить одно натуральное число — номер дня.