Skip to content
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

lesson01 #1

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
.idea

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
Expand Down
205 changes: 205 additions & 0 deletions lesson01.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,205 @@
# Lesson 1
from datetime import date

current_date = date.today()

# 1. Поработайте с переменными, создайте несколько, выведите на экран. Запросите у пользователя некоторые числа и строки и сохраните в переменные, затем выведите на экран.
print("==================== 1 ====================")
print("Задача: Поработайте с переменными, создайте несколько, выведите на экран. Запросите у пользователя некоторые числа и строки и сохраните в переменные, затем выведите на экран.")
print("===========================================")
print("Добро пожаловать в конструктор резюме!")
first_name = input('Введите Ваше имя: ')
last_name = input('Введите Вашу фамилию: ')
patronymic = input('Введите Ваше отчество: ')
age = 0
while True:
try:
age = abs(int(input('Введите Ваш возраст: ')))
break
except Exception as e:
print('Вы ввели неверное число! Попробуйте снова.')

position = input('Введите желаемую должность: ')
salary = 0.00
while True:
try:
salary = float(input('Введите желаемый Вами доход (зп) в рублях: '))
break
except Exception as e:
print('Вы ввели неверное число! Попробуйте снова.')
skills = input('Введите Ваши навыки и умения: ')

print("")
print("============ Резюме ============")
print("ФИО: {1} {0} {2}".format(first_name, last_name, patronymic))
print("Возраст: %d; Год рождения: %d" % (age, current_date.year - age))
print(f"Желаемая должность: {position}")
print("Желаемая заработная плата: {:0.2f} р.".format(salary))
print("Навыки и умения: "+skills)
print("")
print("Дата создания: "+str(current_date))

input('Нажмите любую клавишу для продолжения...')

# 2. Пользователь вводит время в секундах. Переведите время в часы, минуты, секунды и выведите в формате чч:мм:сс. Используйте форматирование строк.
print("==================== 2 ====================")
print("Задача: Пользователь вводит время в секундах. Переведите время в часы, минуты, секунды и выведите в формате чч:мм:сс. Используйте форматирование строк.")
print("===========================================")
secs = 0
while True:
try:
secs = abs(int(input('Введите время в секундах: ')))
break
except Exception as e:
print('Вы ввели неверное число! Попробуйте снова.')

hours = secs // 3600
minutes = secs % 3600 // 60
seconds = secs % 3600 % 60
print(f"Введенное время: {hours:02}:{minutes:02}:{seconds:02}")

input('Нажмите любую клавишу для продолжения...')

# 3. Узнайте у пользователя число n. Найдите сумму чисел n + nn + nnn. Например, пользователь ввёл число 3. Считаем 3 + 33 + 333 = 369.
print("==================== 3 ====================")
print("Задача: Узнайте у пользователя число n. Найдите сумму чисел n + nn + nnn. Например, пользователь ввёл число 3. Считаем 3 + 33 + 333 = 369. ")
print("===========================================")

n = 0
while True:
try:
n = abs(int(input('Введите число: ')))
break
except Exception as e:
print('Вы ввели неверное число! Попробуйте снова.')

def get_str_multiplied_number_sum(num: int, cnt: int):
sum = 0
s = ""
i = 1
while i <= cnt:
if i > 1:
s += f" + "
s += f"{get_str_multiplied_number(num, i)}"
sum += get_str_multiplied_number(num, i)
i += 1
s += f" = {sum}"
return s

def get_str_multiplied_number(num: int, cnt: int):
if cnt <= 1:
return num
return int(str(num) * cnt)

print(f"Введенное Вами число: {n}")
print(get_str_multiplied_number_sum(n, 3))

input('Нажмите любую клавишу для продолжения...')

# 4. Пользователь вводит целое положительное число. Найдите самую большую цифру в числе. Для решения используйте цикл while и арифметические операции.
print("==================== 4 ====================")
print("Задача: Пользователь вводит целое положительное число. Найдите самую большую цифру в числе. Для решения используйте цикл while и арифметические операции.")
print("===========================================")
n = 0
while True:
try:
n = abs(int(input('Введите число: ')))
break
except Exception as e:
print('Вы ввели неверное число! Попробуйте снова.')

c = 0
while n > 0:
b = n % 10
if b > c:
c = b
n = n // 10
print(f"Самое большая цифра: {c}")

input('Нажмите любую клавишу для продолжения...')

# 5. Запросите у пользователя значения выручки и издержек фирмы. Определите, с каким финансовым результатом работает фирма.
# Например, прибыль — выручка больше издержек, или убыток — издержки больше выручки. Выведите соответствующее сообщение.
print("==================== 5 ====================")
print("Задача: Запросите у пользователя значения выручки и издержек фирмы. Определите, с каким финансовым результатом работает фирма. Например, прибыль — выручка больше издержек, или убыток — издержки больше выручки. Выведите соответствующее сообщение.")
print("===========================================")
dbt = 0.00
while True:
try:
dbt = abs(float(input('Введите доходы организации в рублях: ')))
break
except Exception as e:
print('Вы ввели неверное число! Попробуйте снова.')

cdt = 0.00
while True:
try:
cdt = abs(float(input('Введите издержки организации в рублях: ')))
break
except Exception as e:
print('Вы ввели неверное число! Попробуйте снова.')

if dbt > cdt:
d = float(dbt - cdt)
print("Прибыль: Ваши доходы превысили издержки на {:0.2f}р.".format(d))
r = d / dbt * 100
print("Рентабельность составила {:0.2f}% ".format(r))
cnt = 0.
while True:
try:
cnt = abs(int(input('Введите количество сотрудников: ')))
break
except Exception as e:
print('Вы ввели неверное число! Попробуйте снова.')
dcnt = d / cnt
print("Прибыль на одного сотрудника составила {:0.2f}р. ".format(dcnt))
elif dbt == cdt:
print("Ваши доходы и издержки равны. Вы вышли в 0.")
else:
d = float(cdt - dbt)
print("Убыток: Ваши издержки превысили доходы на {:0.2f}р.".format(d))

input('Нажмите любую клавишу для продолжения...')

# 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
# Ответ: на шестой день спортсмен достиг результата — не менее 3 км.
print("==================== 6 ====================")
print("Задача: Спортсмен занимается ежедневными пробежками. В первый день его результат составил a километров. Каждый день спортсмен увеличивал результат на 10% относительно предыдущего. Требуется определить номер дня, на который результат спортсмена составит не менее b километров. Программа должна принимать значения параметров a и b и выводить одно натуральное число — номер дня.")
print("===========================================")
a = 0.00
while True:
try:
a = abs(float(input('Введите начальный результат спортсмена в км: ')))
break
except Exception as e:
print('Вы ввели неверное число! Попробуйте снова.')

b = 0.00
while True:
try:
b = abs(float(input('Введите необходимый результат/цель в км: ')))
break
except Exception as e:
print('Вы ввели неверное число! Попробуйте снова.')
d = 1
while a < b:
print(f"{d}-й день: {a:.2f} км")
percent = a / 100 * 10
a = a + percent
d += 1
print(f"{d}-й день: {a:.2f} км")
print(f"Ответ: на {d} день спортсмен достиг результата — не менее {b:.2f} км")

print("Все задания выполнены. Благодарю за потраченное Вами время.")