Skip to content

Lesson1 #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 16 commits into
base: main
Choose a base branch
from
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)} км')#выводить одно натуральное число — номер дня.