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
49 changes: 48 additions & 1 deletion lesson01/home_work/hw01_easy.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

__author__ = 'Ваши Ф.И.О.'
__author__ = 'Качарин Михаил Александрович'

# Задача-1: Дано произвольное целое число (число заранее неизвестно).
# Вывести поочередно цифры исходного числа (порядок вывода цифр неважен).
Expand All @@ -9,6 +9,32 @@

# код пишем тут...

# Этот вариант нагуглил. Выводит в обратном порядке через пробел.
"""
a = int(input('Введите число:'))
while a:
print(a%10,end = ' ')
a //= 10
"""

# Этот вариант сам сделал используя знания нулеого курса.
# Выводит по порядку в столбик.
"""
a = str(input('Введите число:'))
i = 0
while i < len(a):
print(a[i])
i += 1
"""

# Тоже самое в обратном порядке.
"""
a = str(input('Введите число:'))
i = len(a) - 1
while i == 0 or i > 0:
print(a[i])
i = i - 1
"""

# Задача-2: Исходные значения двух переменных запросить у пользователя.
# Поменять значения переменных местами. Вывести новые значения на экран.
Expand All @@ -18,7 +44,28 @@
# Не нужно решать задачу так:
# print("a = ", b, "b = ", a) - это неправильное решение!

"""
a = 3
b = 5
print('Исходные данные:')
print('a =', a)
print('b =', b)
c = a
a = b
b = c
print('Меняем местами:')
print('a =', a)
print('b =', b)
"""

# Задача-3: Запросите у пользователя его возраст.
# Если ему есть 18 лет, выведите: "Доступ разрешен",
# иначе "Извините, пользование данным ресурсом только с 18 лет"

"""
age = int(input('Сколько вам полных лет? '))
if age > 18 or age == 18:
print('Доступ разрешен!')
else:
print('Извините, пользование данным ресурсом только с 18 лет.')
"""
47 changes: 46 additions & 1 deletion lesson01/home_work/hw01_normal.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

__author__ = 'Ваши Ф.И.О.'
__author__ = 'Качарин Михаил Александрович'

# Задача-1: Дано произвольное целое число, вывести самую большую цифру этого числа.
# Например, дается x = 58375.
Expand All @@ -10,6 +10,19 @@
# * постарайтесь решить задачу с применением арифметики и цикла while;
# * при желании и понимании решите задачу с применением цикла for.

"""
a = str(input('Введите число:'))
m = 0
i = 0
while i < len(a):
print(a[i])
if m < int(a[i]):
m = int(a[i])
i += 1

print('Максимальная цифра в вашем числе: ', m)
"""


# Задача-2: Исходные значения двух переменных запросить у пользователя.
# Поменять значения переменных местами. Вывести новые значения на экран.
Expand All @@ -18,10 +31,42 @@
# * постарайтесь сделать решение через действия над числами;
# * при желании и понимании воспользуйтесь синтаксисом кортежей Python.

"""
a = int(input('Введите число a = '))
b = int(input('Введите число b = '))

a, b = b, a

print('Меняем местами:')
print('a =', a)
print('b =', b)
"""

# Задача-3: Напишите программу, вычисляющую корни квадратного уравнения вида
# ax² + bx + c = 0.
# Коэффициенты уравнения вводятся пользователем.
# Для вычисления квадратного корня воспользуйтесь функцией sqrt() модуля math:
# import math
# math.sqrt(4) - вычисляет корень числа 4

"""
import math

print('Введите коэффициенты уравнения:')
a = int(input('a = '))
b = int(input('b = '))
c = int(input('c = '))

# формулы для решения взяты тут https://clck.ru/FD6vb

d = math.fabs(b*b - 4*a*c) # моуль дискриминанта
d1 = math.sqrt(d) # корень из дискриминанта

x1 = (-b - d1) / 2*a
x2 = (-b + d1) / 2*a

print('Корни квадратного уравнения:')
print('x1 =', x1)
print('x2 =', x2)

"""
59 changes: 58 additions & 1 deletion lesson02/home_work/hw02_easy.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,70 @@

# Подсказка: воспользоваться методом .format()

"""

fruits = ['яблоко', 'банан', 'киви', 'арбуз']
print('Было:')
print(fruits)
print()
print('Стало:')
for i in range(0, len(fruits)):
print('{} {: >10}'.format(str(i+1) + '.', fruits[i]))

"""

# Задача-2:
# Даны два произвольные списка.
# Удалите из первого списка элементы, присутствующие во втором списке.

"""

list1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'конь', 'телескоп']
list2 = [7, 74, 535, 5, 67, 8, 74, 'конь', 733, 3, 9, 65, 5, 353, 1, 4688, 0]

print('Список №1:')
print(list1)
print()
print('Список №2:')
print(list2)
print()

for i in range(0, len(list2)):
j = 0
while j < len(list1):
if list1[j] == list2[i]:
list1.pop(j)
j += 1

print('Список №1 после удаления элементов, присутствующие в списке №2:')
print(list1)

"""

# Задача-3:
# Дан произвольный список из целых чисел.
# Получите НОВЫЙ список из элементов исходного, выполнив следующие условия:
# если элемент кратен двум, то разделить его на 4, если не кратен, то умножить на два.
# если элемент кратен двум, то разделить его на 4,
# если не кратен, то умножить на два.

"""

numbers = [43, 534, 88, 386, 46, 775, 979, 742, 115, 87]
newnumbers = []

print('Список из целых чисел:')
print(numbers)
print()

for i in range(0, len(numbers)):
if numbers[i]%2 == 0:
numbers[i] = numbers[i] / 4
newnumbers.append(numbers[i])
else:
numbers[i] = numbers[i] * 2
newnumbers.append(numbers[i])

print('Новый список чисел:')
print(newnumbers)

"""
64 changes: 61 additions & 3 deletions lesson03/home_work/hw03_easy.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,25 +4,83 @@
# Округление должно происходить по математическим правилам (0.6 --> 1, 0.4 --> 0).
# Для решения задачи не используйте встроенные функции и функции из модуля math.

def my_round(number, ndigits):
pass
"""

def my_round(number, ndigits):
number = str(number)
ndigits = int(ndigits)

# Находим место где целая часть отделяется от дробной
p = number.find('.')

# Создаем число на которое нужно увеличить
# в случае округления в большую сторону
okrup = str(0.)
i = 0
while i < ndigits-2:
okrup = okrup + str(0)
i += 1
okrup = okrup + str(1)

# Находим цифру, которая определяет куда округлять
lastdigit = number[ndigits+p+1]

if int(lastdigit) > 5:
# Округление в большую сторону
number = float(number) + float(okrup)
number = str(number)
number = number[0:ndigits+p+1]
else:
# Округление в меньшую сторону
number = str(number)
number = number[0:ndigits+p+1]
return number

# Это все округляется в большую сторону
print(my_round(2.1234567, 5))
print(my_round(2.1999967, 5))
print(my_round(2.9999967, 5))
# Добавим пример с округлением в меньшую
print(my_round(235232.987654321, 7))

"""

# Задание-2:
# Дан шестизначный номер билета. Определить, является ли билет счастливым.
# Решение реализовать в виде функции.
# Билет считается счастливым, если сумма его первых и последних цифр равны.
# !!!P.S.: функция не должна НИЧЕГО print'ить

"""

def lucky_ticket(ticket_number):
pass
ticket_number = str(ticket_number)

sum_begin = 0
sum_end = 0

if len(ticket_number) == 6:
i = 0
while i < 6:
if i < 3:
sum_begin = sum_begin + int(ticket_number[i])
else:
sum_end = sum_end + int(ticket_number[i])
i += 1
if sum_begin == sum_end:
lucky_ticket = 'Ваш билет счастливый. Поздравляем!'
else:
lucky_ticket = 'К сожалению, билет не счастливый.'
else:
lucky_ticket = 'Неправильный билет. Номер должен состоять из 6 цифр.'
return lucky_ticket


# Это примеры счастливого и неправильного билетов
print(lucky_ticket(123006))
print(lucky_ticket(12321))
print(lucky_ticket(436751))
# Добавим пример не счастливого билета
print(lucky_ticket(478682))

"""
71 changes: 71 additions & 0 deletions lesson04/home_work/hw04_easy.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,84 @@
# квадратами элементов исходного списка
# [1, 2, 4, 0] --> [1, 4, 16, 0]

"""

from random import randint

numbers = []
for i in range(10):
numbers.append(randint(-5, 5))

print('Исходный список:')
print(numbers)
print()

numbers2 = []
for i in numbers:
numbers2.append(i ** 2)

print('Cписок в квадрате:')
print(numbers2)

"""

# Задание-2:
# Даны два списка фруктов.
# Получить список фруктов, присутствующих в обоих исходных списках.

"""

fruits1 = ['яблоко', 'мандарин', 'банан', 'абрикос', 'груша',
'апельсин', 'слива', 'манго', 'папайя', 'персик']
fruits2 = ['авокадо', 'манго', 'помело', 'апельсин', 'мангостин',
'груша', 'гуава', 'банан', 'киви', 'яблоко']
fruits3 = []

print('Список фруктов №1:')
print(fruits1)
print()
print('Список фруктов №2:')
print(fruits2)
print()

for f1 in fruits1:
for f2 in fruits2:
if f1 == f2:
fruits3.append(f1)

print('Список фруктов №3, присутствующих в списках №1 и №2:')
print(fruits3)

"""


# Задание-3:
# Дан список, заполненный произвольными числами.
# Получить список из элементов исходного, удовлетворяющих следующим условиям:
# + Элемент кратен 3
# + Элемент положительный
# + Элемент не кратен 4

"""

from random import randint

numbers = []
for i in range(30):
numbers.append(randint(-10, 1000))

print('Исходный список:')
print(numbers)
print()

newnumbers = []
for i in numbers:
if i > 0:
if i%3 == 0:
if i%4 != 0:
newnumbers.append(i)

print('Список, удовлетворяющий условиям:')
print(newnumbers)

"""
Loading