Skip to content
Open
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
77 changes: 76 additions & 1 deletion venv/lesson_1.py
Original file line number Diff line number Diff line change
@@ -1,26 +1,101 @@
# Пользователь вводит время в секундах. Переведите время в часы, минуты и секунды и выведите в формате чч:мм:сс.
# Используйте форматирование строк.
print('Задача 1')
seconds = input('Введите количество секунд, пожалуйста\n')
while not seconds.isdigit():
seconds = input('Вы ввели не число. Введите число, я же прошу\n')
seconds = int(seconds)

hours_actual = int(seconds / 60 / 60)
mins_actual = int(seconds / 60) - hours_actual*60
seconds_actual = seconds - (hours_actual*60 + mins_actual) * 60
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

А можно было через целочисленные деления и остатки ):)

print(f"Вы записали в секундах: {hours_actual:02}:{mins_actual:02}:{seconds_actual:02}")

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

n = input('Введите число n, пожалуйста\n')
while not n.isdigit():
n = input('Вы ввели не число. Введите число, я же прошу\n')

item = ''
sum = 0
while len(item) < int(n):
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Можно без цикла, и код станет несколько понятнее

item = item + n
sum += int(item)

print(f"Сумма чисел: {sum}")

# Пользователь вводит целое положительное число. Найдите самую большую цифру в числе. Для решения используйте цикл
# while и арифметические операции.
print('\nЗадача 3')
number = input('Введите положительное число, пожалуйста\n')
while not number.isdigit() and int(number) > 0:
number = input('Вы ввели не число или оно не положительное. Давайте-ка повторим\n')

max = 0
count = 0
while count < len(number):
if int(number[count]) > max:
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Это не арифметические операции

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

надо было работать не со строкой а именно с числом

max = int(number[count])
count += 1

print(f"Самая большая цифра в числе -- {max}")


# Запросите у пользователя значения выручки и издержек фирмы. Определите, с каким финансовым результатом работает
# фирма (прибыль - выручка больше издержек или убыток - издержки больше выручки). Выведите соответствующее сообщение.
# Если фирма отработала с прибылью, вычислите рентабельность выручки (соотношение прибыли к выручке).
# Далее запросите численность сотрудников фирмы и определите прибыль фирмы в расчете на одного сотрудника.
print('\nЗадача 4')

income = input('Введите значение показателя выручки, пожалуйста\n')
while not income.isdigit():
income = input('Вы ввели не число или оно не положительное. Давайте-ка повторим\n')
income = int(income)

costs = input('Введите значение показателя издержек, пожалуйста\n')
while not costs.isdigit():
costs = input('Вы ввели не число или оно не положительное. Давайте-ка повторим\n')
costs = int(costs)

if income > costs:
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

А если выручка равна издержкам? Это не в минус

print('Фирма отработала с прибылью! Выручка больше издержек.')
profitability = (income - costs ) / income
print(f"Рентабельность выручки: {profitability}")
emp_number = input('Введите число сотрудников компании, пожалуйста\n')
while not emp_number.isdigit():
costs = input('Вы ввели не число или оно не положительное. Давайте-ка повторим\n')
emp_number = int(emp_number)
personal_income = income / emp_number
print(f"Выручка на одного сотрудника выходит: {personal_income}")
elif income == costs:
print ('Фирма еле-еле на плаву!')
else:
print ('Фирма отработала в минус :(')

# Спортсмен занимается ежедневными пробежками. В первый день его результат составил a километров. Каждый день
# спортсмен увеличивал результат на 10% относительно предыдущего. Требуется определить номер дня, на который
# общий результат спортсмена составить не менее b километров. Программа должна принимать значения параметров a и b
# и выводить одно натуральное число - номер дня.
# и выводить одно натуральное число - номер дня.
print('\nЗадача 5')

a = int(input('Сколько километров спортсмен пробежал в первый день?\n'))
while not a.isdigit():
a = input('Вы ввели не число или оно не положительное. Давайте-ка повторим\n')
a = int(a)

b = int(input('Сколько километров спортсмен должен пробежать всего?\n'))
while not b.isdigit():
b = input('Вы ввели не число или оно не положительное. Давайте-ка повторим\n')
b = int(b)

day_number = 1
dist = a

while dist < b:
dist += dist*1.1
day_number += 1

print(f"На достижение дистанции потребовалось дней: {day_number}")