Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
d66d7a6
Task 1 - Done
ZakirovRail Jun 8, 2020
fdbd3c7
Task 2 - Done
krianne Jun 9, 2020
6e8bb61
Task 3 - Done
krianne Jun 9, 2020
0beb2a8
Task 4 - Done
krianne Jun 9, 2020
ed2ba36
Task 6 - Done
krianne Jun 9, 2020
decc0b8
Task 7 - Done
krianne Jun 9, 2020
be5a1be
Task 8 - Done
krianne Jun 9, 2020
2899a19
Task 8 - Done, small corrections
krianne Jun 9, 2020
4b03db7
Task 9 - Intermediate result
krianne Jun 9, 2020
b90ea82
Task 5 - completed
krianne Jun 10, 2020
3e080c2
Merge pull request #1 from ZakirovRail/Lesson_1_Task_1
ZakirovRail Jun 14, 2020
5e4ef56
Lesson_2 - HW, task 1 for cycle - done
krianne Jun 14, 2020
083f0e9
Lesson 2 - HW, task 1 second solution - Done
krianne Jun 14, 2020
d04b8c4
Lesson 2 - HW_2 task 2 for cycle - Done
krianne Jun 14, 2020
ed8a9c6
Lesson 2 - HW task 3 cycle - done
krianne Jun 14, 2020
929d075
Lesson 2 - HW task 4 for cycle - done
krianne Jun 14, 2020
9eee20d
Lesson 2 - HW task 5 for cycle - done
krianne Jun 14, 2020
ac09961
Lesson 2 - HW task 6 with cycle - done
krianne Jun 14, 2020
f28874a
Lesson 2 - HW task 6 for cycle - second solution
krianne Jun 14, 2020
054f388
Lesson 2 - HW 7 tasks 7 with recursion
krianne Jun 14, 2020
e172ea1
Lesson 2 - HW task 8 for cycle
krianne Jun 14, 2020
2355840
Lesson 2 - HW task 9 for cycle - not finished tasks
krianne Jun 14, 2020
789f418
Lesson 2 - Not finished HW, just intermediate result
krianne Jun 14, 2020
667925f
Lesson 2 - HW from teacher - copied
krianne Jun 15, 2020
ceaf139
Merge pull request #2 from ZakirovRail/Lesson_2
ZakirovRail Jun 17, 2020
c92e904
Lesson 3 - HW_3 task 2 - Done
krianne Jun 17, 2020
f579e59
Lesson 3 - HW task 1 - done
krianne Jun 17, 2020
73fd7ae
HW 3 - task 2 questions
krianne Jun 17, 2020
3bf44bc
Lesson_3 - task 3 - done
krianne Jun 17, 2020
25b520a
task 3 - small correction
krianne Jun 17, 2020
5fd8705
Lesson 3 - HW task 4 - with question
krianne Jun 17, 2020
94e21bc
Lesson 3 - HW task 5 - done
krianne Jun 17, 2020
72982ba
Lesson 3 - HW solutions from teacher
krianne Jun 19, 2020
332d19f
Merge pull request #3 from ZakirovRail/Lesson_3
ZakirovRail Jun 19, 2020
a8f5e77
HW 4 - task 1 - Done
krianne Jun 19, 2020
73839de
Merge pull request #4 from ZakirovRail/Lesson_4
ZakirovRail Jun 22, 2020
c92bda8
HW 5 - task 1 - Done
krianne Jun 24, 2020
738842f
Merge pull request #5 from ZakirovRail/Lesson_5
ZakirovRail Jun 28, 2020
1d65e1b
HW 6 - Done
krianne Jun 28, 2020
c1b8ff6
Merge pull request #6 from ZakirovRail/Lesson_6
ZakirovRail Jul 1, 2020
cb92ebc
HW 7 task 1- Done
krianne Jul 1, 2020
5313028
HW 7 task 2 - Done
krianne Jul 1, 2020
fe438f9
HW 7 tasks 1 and 2 - Done
krianne Jul 1, 2020
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
14 changes: 14 additions & 0 deletions Урок 1. Практическое задание/task_1.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,17 @@
Подсказка: для получения отдельных цифр числа используйте арифм. операции
и НЕ ИСПОЛЬЗУЙТЕ операции с массивами
"""

users_input = int(input("Enter you number which contains 3 digits: "))

first = users_input // 100
second = (users_input // 10) % 10
third = users_input % 10


# print(first)
# print(second)
# print(third)

print(f"The sum of digits from your number is {first + second + third}")
print(f"The multiplication of digits from your number is {first * second * third}")
49 changes: 47 additions & 2 deletions Урок 1. Практическое задание/task_2.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,53 @@
"""
Задание 2. Выполнить логические побитовые операции "И", "ИЛИ"
и др. над числами 5 и 6. Выполнить
над числом 5 побитовый сдвиг вправо и влево на два знака.
и др. над числами 5 и 6.
Выполнить над числом 5 побитовый сдвиг вправо и влево на два знака.

Подсказка: это стандартные операции, которые осуществляются с помощью
стандартных операторов. Попробуйте найти каких именно.
"""

num_1 = 5
print(bin(num_1))
num_2 = 6
print(bin(num_2))

# Bit operation INVERSE
print('Print result for Inverse operation')
num_1_inv = ~num_1
num_2_inv = ~num_2
print(bin(num_1_inv))
print(bin(num_2_inv))

# Bit operation AND
print('Print result for AND operation')
print(num_1 & num_2)
print(bin(num_1 & num_2))

# Bit operation XOR
print('Print result for XOR operation')
print(num_1 ^ num_2)
print(bin(num_1 ^ num_2))

# Bit operation OR
print('Print result for OR operation')
print(num_1 | num_2)
print(bin(num_1 | num_2))

# Bit operation left shift
print('Print result for left shift operation')
print(bin(num_1 << 2))
print(bin(num_2 << 2))

# Bit operation right shift
print('Print result for right shift operation')
print(bin(num_1 >> 2))
print(bin(num_2 >> 2))


# над числом 5 побитовый сдвиг вправо и влево на два знака
print(num_1 << num_2)
print((num_1 * 2**num_2))

print(num_1 >> num_2)
print((num_1) // 2 ** num_2)
17 changes: 17 additions & 0 deletions Урок 1. Практическое задание/task_3.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,20 @@
X1_VAL = 2, Y1_VAL = 3, X2_VAL = 4, Y2_VAL = 5
Уравнение прямой, проходящей через эти точки: y = 1.0x + 1.0
"""

X1_VAL = int(input('Введите значение х1 для точки 1: '))
Y1_VAL = int(input('Введите значение у1 для точки 1: '))
X2_VAL = int(input('Введите значение х2 для точки 2: '))
Y2_VAL = int(input('Введите значение у2 для точки 2: '))

while (X2_VAL - X1_VAL) == 0:
print("Получившаяся прамая параллельна оси OY и рассчетами не предусмотрена. Введите координаты точек снова")
X1_VAL = int(input('Введите значение х1 для точки 1: '))
Y1_VAL = int(input('Введите значение у1 для точки 1: '))
X2_VAL = int(input('Введите значение х2 для точки 2: '))
Y2_VAL = int(input('Введите значение у2 для точки 2: '))
a = (Y2_VAL - Y1_VAL) / (X2_VAL - X1_VAL)
b = Y2_VAL - a * X2_VAL
print(f"Угловой коэффициент a равен: {a}")
print(f"Коэффициент b равен: {b}")
print(f"Уравнение прямой выглядит: y = {a}x + {b}")
15 changes: 15 additions & 0 deletions Урок 1. Практическое задание/task_4.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,18 @@
Функцию random() использовать можно
Опирайтесь на пример к уроку
"""
import random
import string as list_symbols


start = int(input('Введите первое число: '))
stop = int(input('Введите второе число: '))
step = random.randrange(start, stop, 5)
symbols_list = list(list_symbols.printable)


integer = random.randrange(start, stop, step)
float_number = random.randrange(start, stop, step) / step
print(f'Случайное целое число: {integer}')
print(f'Случайное вещественное число: {float_number}')
print(f'Случайное символ: {symbols_list[integer+9]}')
14 changes: 14 additions & 0 deletions Урок 1. Практическое задание/task_5.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,17 @@
В обоих случаях программа должна вывести корректный результат.
В обоих случаях он 24, но никак не -24
"""

letter_1 = input('Enter the first letter: ')
letter_2 = input('Enter the second letter: ')

num_let_1 = ord(letter_1)
num_let_2 = ord(letter_2)

print(num_let_1)
print(num_let_2)

if num_let_1 < num_let_2:
print(f'Между введенными буквами {letter_1} и {letter_2} находится {num_let_2 - num_let_1 - 1} букв')
else:
print(f'Между введенными буквами {letter_1} и {letter_2} находится {num_let_1 - num_let_2 - 1} букв')
5 changes: 5 additions & 0 deletions Урок 1. Практическое задание/task_6.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,8 @@

Подсказка: используйте ф-ции chr() и ord()
"""


letter_number = int(input('Enter number of letter: '))
x = (chr(letter_number))
print(x)
19 changes: 19 additions & 0 deletions Урок 1. Практическое задание/task_7.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,22 @@
составленного из этих отрезков. Если такой треугольник существует,
то определить, является ли он разносторонним, равнобедренным или равносторонним.
"""

length_1 = int(input('Enter the length for an side of triangle 1: '))
length_2 = int(input('Enter the length for an side of triangle 2: '))
length_3 = int(input('Enter the length for an side of triangle 3: '))

if length_1 == length_2 or length_1 == length_3 or length_2 == length_3:
if length_1 == 0 or length_2 == 0 or length_3 == 0:
print('Looks like you entered a zero value for one of the side of the triangle')
else:
print('The triangle is isosceles triangle')
elif length_1 == length_2 == length_3:
print('The triangle is equilateral triangle')
elif length_1 != length_2 != length_3:
if length_1 == 0 or length_2 == 0 or length_3 == 0:
print(
'Looks like you entered a zero value for one of the '
'side of the triangle OR you missed to enter on of the side')
else:
print('The triangle is versatile triangle')
7 changes: 7 additions & 0 deletions Урок 1. Практическое задание/task_8.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,10 @@
Он просто позволяет протестировать условие в одной строке,
заменяя многострочное if-else, делая код компактным.
"""

year = int(input('Enter a number of year to determine is it a leap year or not: '))

if year % 4 == 0 or (year % 100 != 0 and year % 400 == 0):
print("leap year")
else:
print("usual year")
35 changes: 35 additions & 0 deletions Урок 1. Практическое задание/task_9.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,38 @@

Подсказка: можно добавить проверку, что введены равные числа
"""

int_1 = int(input('Enter first number: '))
int_2 = int(input('Enter second number: '))
int_3 = int(input('Enter third number: '))

if int_1 > int_2:
if int_2 > int_3:
print(f'Average number is {int_2} marker 1')
else:
print(f'Average number is {int_1} marker 2')
elif int_2 > int_1:
if int_1 > int_3:
print(f'Average number is {int_1} marker 3')
else:
print(f'Average number is {int_2} marker 4')
elif int_3 > int_1:
if int_1 > int_2:
print(f'Average number is {int_1} marker 5')
else:
print(f'Average number is {int_2} marker 6')
elif int_3 > int_2:
if int_2 > int_1:
print(f'Average number is {int_2} marker 7')
else:
print(f'Average number is {int_1} marker 8')
elif int_2 > int_3:
if int_3 > int_1:
print(f'Average number is {int_3} marker 9')
else:
print(f'Average number is {int_1} marker 10')

# NOT COMPLETED TASK



Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
���������� �� ���� ������� �����:
1. ������ ������ ��� ������ ��������� ��������� ��� ��������� � ���������� (���� � �������� ����� �� ����� 2 � ��� �� �� ���������� ��� �������).
2. ���������� �. 1. ������� ������ �� ����� 3, ������� ������������ ������ ������ ��� ���.
3. ���� ���� ��� � ��������, ����������� ������ �������� ����� ����������� ��������.
Ïðèìå÷àíèÿ êî âñåì çàäà÷àì óðîêà:
1. Ðåøèòå çàäà÷ó ïðè ïîìîùè ëèíåéíîãî àëãîðèòìà èëè àëãîðèòìà ñ âåòâëåíèåì (öèêë è ðåêóðñèè áóäóò íà óðîêå 2 è òóò èõ íå èñïîëüçóåì äëÿ ðåøåíèÿ).
2. Àíàëîãè÷íî ï. 1. ìàññèâû ïðîéä¸ì íà óðîêå 3, ïîýòîìó ïîñòàðàéòåñü ðåøèòü çàäà÷è áåç íèõ.
3. Åñëè ðå÷ü èä¸ò î ñèìâîëàõ, èñïîëüçóéòå òîëüêî ñòðî÷íûå áóêâû àíãëèéñêîãî àëôàâèòà.
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,99 @@

ЗДЕСЬ ДОЛЖНА БЫТЬ РЕАЛИЗАЦИЯ ЧЕРЕЗ ЦИКЛ
"""

# First solution
cont = True
while cont:
try:
first_number = int(input("Enter first number: "))
second_number = int(input("Enter second number (it shouldn't be the zero!): "))
sign_operation = input("Enter the sigh for operation. '+', '-', '*', '/' or '0' to quit.: ")

while True:
if sign_operation == '+':
print(first_number + second_number)
break
elif sign_operation == '-':
print(first_number - second_number)
break
elif sign_operation == '*':
print(first_number * second_number)
break
elif sign_operation == '/':
print(first_number / second_number)
break
elif sign_operation == '0':
cont = False
print('You entered a zero to quite. The calculation will be stopped')
break
elif sign_operation not in ['0','+','-','*', '/']:
print('You entered a wrong symbol. Try again')
break
except ZeroDivisionError:
print("You are trying to divide by zero, it's wrong")

# Second solution

# while True:
# first_number = int(input("Enter first number: "))
# second_number = int(input("Enter second number (it shouldn't be the zero!): "))
# sign_operation = input("Enter the sigh for operation. '+', '-', '*', '/' or '0' to quit.: ")
#
# if sign_operation == '0':
# print('You entered a zero to quite. The calculation will be stopped')
# break
# if sign_operation in {'+', '-', '*', '/'}:
# try:
# if sign_operation == '+':
# print(first_number + second_number)
# elif sign_operation == '-':
# print(first_number - second_number)
# elif sign_operation == '*':
# print(first_number * second_number)
# elif sign_operation == '/':
# print(first_number / second_number)
# except ZeroDivisionError:
# print("You are trying to divide by zero, it's wrong")
# else:
# print('Wrong sign for operation. Try again')


#Solution from teacher
# while True:
# OPER_TYPE = input("Enter operation type (+,-,*,/ or 0 to quit): ")
# if OPER_TYPE == '0':
# break
# if OPER_TYPE in "+-*/":
# try:
# NUM_1 = int(input('Enter first number: '))
# NUM_2 = int(input('Enter second number: '))
# if OPER_TYPE == '+':
# RES = NUM_1 + NUM_2
# if OPER_TYPE == '-':
# RES = NUM_1 - NUM_2
# if OPER_TYPE == '*':
# RES = NUM_1 * NUM_2
# if OPER_TYPE == '/':
# if NUM_2 != 0:
# RES = NUM_1 / NUM_2
# else:
# print("Error. Divide by zero! Try again")
# continue
# print(f"Result {NUM_1} {OPER_TYPE} {NUM_2} = {RES}")
# except ValueError:
# print("You enetered a wrong value. Please correct it.")
# else:
# print("Wrong operation. Try repeat again")












Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,43 @@

ЗДЕСЬ ДОЛЖНА БЫТЬ РЕАЛИЗАЦИЯ ЧЕРЕЗ РЕКУРСИЮ
"""


# Solution from teacher

def calc():
oper_type = input("Enter type of operation (+,-,*,/ or 0 to quit): ")
if oper_type == '0':
return "Exit"

else:
if oper_type in "+-*/":
try:
num_1 = int(input("Enter the first number: "))
num_2 = int(input("Enter the second number: "))

if oper_type == '+':
res = num_1 + num_2
print(f"You result is {res}")
return calc()

if oper_type == '-':
res = num_1 - num_2
print(f"You result is {res}")
return calc()

if oper_type == '*':
res = num_1 * num_2
print(f"You result is {res}")
return calc()

if oper_type == '/':
if oper_type != 0:
res = num_1 / num_2
print(f"You result is {res}")
else:
print("Dividing by zero is impossible. ")
return calc()
except ValueError:
print("Wrong value. Try again")
return calc()
Loading