Skip to content
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
16 changes: 16 additions & 0 deletions 1_1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
a = 1
print(a)

b = 1.1
print(b)

c = "Привет"
print(c)

a = int(input("Введи свое целое число a: "))
b = float(input("Введи свое вещественное число b: "))
c = str(input("Введи свое выражение c: "))

print(a)
print(b)
print(c)
17 changes: 17 additions & 0 deletions 1_2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Предлагаем ввести пользователю время в секундах
sec = int(input("Введи время в секундах: "))

# Вычисляем количество часов в секундах
h = sec // 3600
# Переводим формат значения в чч
hh = "%.2d" % h
# Вычисляем количество минут в секундах
m = (sec - h * 3600) // 60
# Переводим формат значения в мм
mm = "%.2d" % m
# Вычисляем оставшееся количество секунд
s = sec - m * 60 - h * 3600
# Переводим формат значения в сс
ss = "%.2d" % s
# Выводим количество секунд в формате чч:мм:сс
print(f"Количество секунд в формате чч::мм:сс - {hh}:{mm}:{ss}.")
13 changes: 13 additions & 0 deletions 1_3.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Предлагаем ввести пользователю число
number = input("Введи целое число n: ")

# Переводим число n в целочисленное значение
n = int(number)
# Находим число nn и переводим в целочисленное значение
nn = int(f"{n}{n}")
# Находим число nnn и переводим в целочисленное значение
nnn = int(f"{n}{n}{n}")
# Вычисляем результат выражения по заданию
result = n + nn + nnn
# Выводим результат
print(f"Результат выражения: n + nn + nnn будет равен - {result}")
13 changes: 13 additions & 0 deletions 1_4.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Предлагаем ввести пользователю число
n = int(input("Введи целое положительное число n - "))
# Вычисляем остаток деления от 10
n1 = n % 10
# Вычисляем целочисленное значение в результате деления на 10
n = n // 10
# Пока значение больше 0, выполняем условие
while n > 0:
# Если результат вычисления остатка больше предыдущего результата вычисления остатка, то вычисляем еще раз остаток
if n % 10 > n1:
n1 = n % 10
n = n // 10
print(f"Максимальная цифра введенного числа - {n1}")
12 changes: 12 additions & 0 deletions 1_5.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Запрос у пользователя значения выручки и издержек фирмы
proceeds = int(input("Выручка фирмы: "))
cost = int(input("Издержки производства: "))

if proceeds > cost:
# Подсчет рентабельности
profit = proceeds/cost
# Запрос количества сотрудников фирмы для подсчета прибыли на одного сотрудника
number = int(input(f"У вас прибыльная фирма с рентабельностью {profit}. Введите количество сотрудников: "))
print(f"Прибыль фирмы в расчете на одного сотрудника составляет - {(proceeds-cost)/number}")
else:
print("У вас убыточная фирма")
13 changes: 13 additions & 0 deletions 1_6.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Спортсмен занимается ежедневными пробежками. В первый день его результат составил a километров.
# Каждый день спортсмен увеличивал результат на 10 % относительно предыдущего.
# Требуется определить номер дня, на который общий результат спортсмена составит не менее b километров.
# Программа должна принимать значения параметров a и b и выводить одно натуральное число — номер дня.

a = int(input("Расстояние в первый день: "))
b = int(input("Максимальное расстояние: "))
count = 1

while a < b:
count += 1
a = a + a * 0.1
print(f"На {count}-ой день спортсмен достиг результата не менее {b} км.")
11 changes: 11 additions & 0 deletions 2_1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Создать список и заполнить его элементами различных типов данных. Реализовать скрипт
# проверки типа данных каждого элемента. Использовать функцию type() для проверки типа.
# Элементы списка можно не запрашивать у пользователя, а указать явно, в программе.

list1 = [True, 5, 5.5, 'строка', None]
print(list1)
i = 0

while list1[i]:
i += 1
print(f"{i}-й элемент списка - {type(list1[i])}")
23 changes: 23 additions & 0 deletions 2_2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Для списка реализовать обмен значений соседних элементов. Значениями обмениваются
# элементы с индексами 0 и 1, 2 и 3 и т. д. При нечётном количестве элементов последний
# сохранить на своём месте. Для заполнения списка элементов нужно использовать функцию
# input().

# Создаем пустой список
list1 = []
# Определяем переменную для цикла заполнения элементов списка
x = 0
# Запрашиваем у пользователя, какое количество элементов добавить в список
count = int(input("Сколько элементов добавить в список? --> "))
# Заполняем список элементами
while x < count:
element = input(f"Заполни {x+1}-й элемент - ")
list1.append(element)
x += 1
# Показываем список
print("Вот ваш список: ", list1)
# Применяем функцию range с циклом for для перезаписи объявленного списка
for i in range(1, len(list1), 2):
list1[i - 1], list1[i] = list1[i], list1[i - 1]

print(f"Список после форматирования по заданию: {list1}")
12 changes: 12 additions & 0 deletions 2_3.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Пользователь вводит месяц в виде целого числа от 1 до 12. Сообщить, к какому времени года
# относится месяц (зима, весна, лето, осень). Напишите решения через list и dict.

month = int(input("Введи номер месяца: "))

dict1 = {"Зима": [1, 2, 12], "Весна": [3, 4, 5], "Лето": [6, 7, 8], "Осень": [9, 10, 11]}

if month in sum(dict1.values(), []):
for i in dict1.items():
if month in i[1]:
print(i[0])
break
8 changes: 8 additions & 0 deletions 2_4.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Пользователь вводит строку из нескольких слов, разделённых пробелами. Вывести каждое
# слово с новой строки. Строки нужно пронумеровать. Если слово длинное, выводить только
# первые 10 букв в слове.

text = input("Введи текст: ").split()

for n, i in enumerate(text, 1):
print(f"{n} - {i:.10}")
21 changes: 21 additions & 0 deletions 2_5.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Реализовать структуру «Рейтинг», представляющую собой набор натуральных чисел, который
# не возрастает. У пользователя нужно запрашивать новый элемент рейтинга. Если в рейтинге
# существуют элементы с одинаковыми значениями, то новый элемент с тем же значением
# должен разместиться после них.
# Подсказка. Например, набор натуральных чисел: 7, 5, 3, 3, 2.
# Пользователь ввёл число 3. Результат: 7, 5, 3, 3, 3, 2.
# Пользователь ввёл число 8. Результат: 8, 7, 5, 3, 3, 2.
# Пользователь ввёл число 1. Результат: 7, 5, 3, 3, 2, 1.
# Набор натуральных чисел можно задать сразу в коде, например, my_list = [7, 5, 3, 3, 2].

list1 = [7, 5, 3, 3, 2]
number = int(input(f"Введи новый элемент рейтинга {list1}: "))
i = 0
for n in list1:
if number <= n:
i += 1
else:
break

list1.insert(i, number)
print(f"В результате рейтинг изменился - {list1}")
22 changes: 22 additions & 0 deletions 3_1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Реализовать функцию, принимающую два числа (позиционные аргументы) и выполняющую их деление.
# Числа запрашивать у пользователя, предусмотреть обработку ситуации деления на ноль.


# Добавить функцию деления чисел
def func1(num1, num2):
"""Возвращает результат деления двух целых чисел.

Именованные параметры:
num1 -- делимое
num2 -- делитель

"""
try:
result = num1 / num2
return print(result)
except ZeroDivisionError:
print("Деление на ноль запрещено!")


# Вызываем функцию двумя позиционными аргументами
func1(int(input("Введи первый аргумент: ")), int(input("Введи второй аргумент: ")))
22 changes: 22 additions & 0 deletions 3_2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Выполнить функцию, которая принимает несколько параметров, описывающих данные
# пользователя: имя, фамилия, год рождения, город проживания, email, телефон. Функция
# должна принимать параметры как именованные аргументы. Осуществить вывод данных о
# пользователе одной строкой.

# Запрос данных о пользователе
name_val = input("Введи имя: ")
surname_val = input("Введи фамилию: ")
year_val = input("Введи год рождения: ")
city_val = input("Введи город проживания: ")
e_mail_val = input("Введи адрес электронной почты: ")
tel_number_val = input("Введи номер телефона: ")


# Добавить функцию объединения вводимх аргументов в строку
def str1(name, surname, year, city, e_mail, tel_number):
result = f"{name} {surname}, {year} г.р., проживает в г.{city}, можно связаться по электронной почте - {e_mail} или позвонить по телефону - {tel_number}"
print(result)


# Вызываем функцию именованными аргументами
str1(name=name_val, surname=surname_val, year=year_val, city=city_val, e_mail=e_mail_val, tel_number=tel_number_val)
16 changes: 16 additions & 0 deletions 3_3.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# 3. Реализовать функцию my_func(), которая принимает три позиционных аргумента и
# возвращает сумму наибольших двух аргументов.


def my_func(num1, num2, num3):
# Определяем список для удаления минимального значения
result = [num1, num2, num3]
# Удаляем минимальное значения из списка
result.remove(min(result))
# Вывод суммы оставшихся наибольших аргументов списка через lambda-функцию
return print((lambda list1: sum(list1))(result))


# Вызов функции, которая принимает три позиционных аргумента
my_func(int(input("Введи первый аргумент: ")), int(input("Введи второй аргумент: ")), int(input("Введи третий "
"аргумент: ")))
30 changes: 30 additions & 0 deletions 3_4.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Программа принимает действительное положительное число x и целое отрицательное число
# y. Выполните возведение числа x в степень y. Задание реализуйте в виде функции
# my_func(x, y). При решении задания нужно обойтись без встроенной функции возведения
# числа в степень.
# Подсказка: попробуйте решить задачу двумя способами. Первый — возведение в степень с
# помощью оператора **. Второй — более сложная реализация без оператора **,
# предусматривающая использование цикла.

# Определяем функцию возвдения в степень
def my_func(x, y):
result = x ** y
return round(result, 2)


try:
# Определяем первый аргумент
num1 = float(input("Введи действительное положительное число: "))
# Проверка ввода положительного числа
if num1 < 0:
num1 = float(input("Введено отрицательное число! Введи действительное положительное число: "))
# Определяем второй аргумент
num2 = int(input("Введи целое отрицательное число: "))
# Проверка ввода отрицательного числа
if num2 > 0:
num2 = int(input("Введено положительное число! Введи целое отрицательное число: "))
# Вывод результата
print(f"Результат возведения числа {num1} в степень {num2}: {my_func(num1, num2)}")
except ValueError:
# Вывод сообщения об ошибке ввода
print("Ошибка формата! Необходимо ввести число.")
34 changes: 34 additions & 0 deletions 3_5.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
"""Программа запрашивает у пользователя строку чисел, разделённых пробелом. При нажатии
Enter должна выводиться сумма чисел. Пользователь может продолжить ввод чисел,
разделённых пробелом и снова нажать Enter. Сумма вновь введённых чисел будет
добавляться к уже подсчитанной сумме.
Но если вместо числа вводится специальный символ, выполнение программы завершается.
Если специальный символ введён после нескольких чисел, то вначале нужно добавить сумму
этих чисел к полученной ранее сумме и после этого завершить программу."""


# Определяем функцию
def func_sum(*args):
# Инициализируем переменную x
x = 0
while True:
# Просьба пользователя ввести числа или выйти из программы
list1 = input("Введи числа через пробел. (Для выхода из программы нажми q): ").split()
# Цикл обработки условий
for num in list1:
# Специальный символ для выхода из программы в самом начале
if num == 'q':
return x
else:
try:
# Суммирование всех введенных значений
x += int(num)
except ValueError:
# Вывод сообщения при неккоректном вводе значения
print("Введено некорректное входное значение. Вводить строго целые числа!")
# Вывод результата
print(f"Результат суммирования значений: {x}")


# Вызов функции
func_sum()
25 changes: 25 additions & 0 deletions 3_6.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Реализовать функцию int_func(), принимающую слова из маленьких латинских букв и
# возвращающую их же, но с прописной первой буквой. Например, print(int_func(‘text’)) -> Text.
# Продолжить работу над заданием. В программу должна попадать строка из слов, разделённых
# пробелом. Каждое слово состоит из латинских букв в нижнем регистре. Нужно сделать вывод
# исходной строки, но каждое слово должно начинаться с заглавной буквы. Используйте
# написанную ранее функцию int_func().

# Определяем функцию
def int_func():
# Просьба пользователя о вводе слова или слов, разделенных пробелом с последующим форматирования строки
str1 = input("Введи слово или слова, разделенные пробелом: ").split()
# Определяем новую строку для записи форматированных значений
str2 = []
# Цикл для форматирования каждого слова в списке
for n in str1:
# Форматирование слова
word = n.title()
# Добавление каждого слова в новый список
str2.append(word)
# Вывод отформатированного списка и преобразование списка в строку
print(f"Преобразовано по заданию: {' '.join(str2)}")
return

# Вызов функции
int_func()
15 changes: 15 additions & 0 deletions 4_1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# 1. Реализовать скрипт, в котором должна быть предусмотрена функция расчёта заработной
# платы сотрудника. Используйте в нём формулу: (выработка в часах*ставка в час) + премия. Во
# время выполнения расчёта для конкретных значений необходимо запускать скрипт с
# параметрами.

from sys import argv
script_name, time_work, rate_hour, bonus = argv

print("Выработка в часах: ", time_work)
print("Ставка в час:", rate_hour)
print("Премия: ", bonus)

salary = (float(time_work) * float(rate_hour)) + float(bonus)

print(f"Ваша зарплата: {salary}")
Loading