Skip to content
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@

lesson_1/stuf/hw_1_psm.py
lesson_1/lesson1.py
lesson_1/lesson1_2.py
23 changes: 23 additions & 0 deletions lesson1_task_1.py
Original file line number Diff line number Diff line change
@@ -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('Ожидайте курьера, и да... мы знаем ваш адрес')
14 changes: 14 additions & 0 deletions lesson1_task_2.py
Original file line number Diff line number Diff line change
@@ -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)}') #Вывод результата
42 changes: 42 additions & 0 deletions lesson1_task_3.py
Original file line number Diff line number Diff line change
@@ -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)
33 changes: 33 additions & 0 deletions lesson1_task_4.py
Original file line number Diff line number Diff line change
@@ -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)
34 changes: 34 additions & 0 deletions lesson1_task_5.py
Original file line number Diff line number Diff line change
@@ -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}')
35 changes: 35 additions & 0 deletions lesson1_task_6.py
Original file line number Diff line number Diff line change
@@ -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)} км')#выводить одно натуральное число — номер дня.