From 0fddd46ac497e1e873f4f86b36ca67ba620a8447 Mon Sep 17 00:00:00 2001 From: Sergiy Babich Date: Tue, 18 Oct 2016 18:32:48 +0300 Subject: [PATCH 1/7] =?UTF-8?q?1.=20=D0=92=D0=B2=D0=B5=D0=B4=D0=B5=D0=BD?= =?UTF-8?q?=D0=BD=D1=8F=20=D1=82=D0=B0=20=D0=B2=D0=B8=D0=B2=D1=96=D0=B4=20?= =?UTF-8?q?=D1=96=D0=BD=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=86=D1=96=D1=97.?= =?UTF-8?q?=20=D0=9F=D1=80=D0=BE=D1=81=D1=82=D1=96=20=D0=BE=D0=BF=D0=B5?= =?UTF-8?q?=D1=80=D0=B0=D1=86=D1=96=D1=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Варіант: загальний --- students/km61/Babych_Serhij/homework_1.py | 117 ++++++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 students/km61/Babych_Serhij/homework_1.py diff --git a/students/km61/Babych_Serhij/homework_1.py b/students/km61/Babych_Serhij/homework_1.py new file mode 100644 index 0000000..a6bc8ec --- /dev/null +++ b/students/km61/Babych_Serhij/homework_1.py @@ -0,0 +1,117 @@ +#task1------------------------------------------------------------ +""" +Умова: Напишите программу, которая считывает три числа и выводит их сумму. +Каждое число записано в отдельной строке. +""" +#Програма вираховує суму введених числ +number_one = float(input('Enter number one: ')) +number_two = float(input('Enter number two: ')) +number_three = float(input('Enter number three: ')) +print('Sum 3 numbers is: ',number_one+number_two+number_three) + + + +#----------------------------------------------------------------- + + +#task2------------------------------------------------------------ +""" +Умова: Напишите программу, которая считывает длины двух катетов в прямоугольном треугольнике и выводит его площадь. +Каждое число записано в отдельной строке. +""" +#Програма вираховує площу прямокутного трикутника +catet_one = float(input('Enter catet one: ')) +catet_two = float(input('Enter catet two: ')) +print('Area of triangl is: ',catet_one*catet_two/2) + + + +#----------------------------------------------------------------- + + +#task3------------------------------------------------------------ +""" +Умова: N студентів отримали K яблук і розподілити їх між собою порівну.Неподілені яблука залишились у кошику. +Скільки яблук отримає кожен студент? Скільки яблук залишиться в кошику? +""" +#Програма вираховує кількість яблук в кожного студента і в кошику +number_of_students = int(input('Enter number of student: ')) +number_of_apples = int(input('Enter number of apples: ')) +print('The apples in one student is: ',number_of_apples // number_of_students) +print('The apples in basket is: ',number_of_apples % number_of_students) + + + +#----------------------------------------------------------------- + + +#task4------------------------------------------------------------ +""" +Умова: Нехай число N - кількість хвилин, відрахованих після півночі. +Скільки годин і хвилин буде показувати цифровий годинник, якщо за відлік взяти 00:00? +Програма повинна виводити два числа: кількість годин (від 0 до 23) і кількість хвилин (від 0 до 59). +Візьміть до уваги, що починаючи з півночі може пройти декілька днів, тому число N може бути достатньо великим. +""" +#Програма вираховує котрий час становить введена кількість хвилин +all_minets = int(input('Enter number of minets: ')) +time_hours = all_minets//60 #вираховує кількість годин +time_minets = all_minets % 60 #вираховує залишок хвилин +print('The time is: ',time_hours%24,':',time_minets) + + + +#----------------------------------------------------------------- + + +#task5------------------------------------------------------------ +""" + Умова: Напишіть програму, яка вітає користувача, друкуючи слово "Hello", ім'я користувача і знак оклику після нього. + Наприклад “Hello, Mike!” +""" +#Програма виводить вітання користувачеві +your_name = input('Write your name: ') +print('Hello, '+your_name+'!') + + + +#----------------------------------------------------------------- + + +#task6------------------------------------------------------------ +""" + Умова: Напишіть програму, яка зчитує ціле число і друкує його попереднє і наступне значення за форматом: + + The next number for the number 179 is 180. + The previous number for the number 179 is 178. +""" +#Програма виводить попереднє і наступне значення цілого числа +number = int(input('Enter an integer number: ')) +next_number = number-1 #наступне число +previous_number = number+1 #попереднє число +print('The next number for the number ', number,'is',next_number) +print('The previous number for the number', number ,'is',previous_number) + + +#----------------------------------------------------------------- + + +#task7------------------------------------------------------------ +""" + Умова: Школа вирішила сформувати три нові групи учнів та надати їм окремі класи. + У кожному класі необхідно встановити столи для учнів, у розрахунку, що за одним столом може сидіти не більше двох учнів. + Яку мінімальну кількість столів необхідно придбати? +""" +#Програма вираховує найменшу кількість столів для учнів трьох груп +#за умови що за 1 партою не більше 2 учнів +class1 = int(input('Enter numper of students in first class')) +class2 = int(input('Enter numper of students in second class')) +class3 = int(input('Enter numper of students in third class')) +desks_1 = class1//2+class1%2 #потреба парт в першій групі учнів +desks_2 = class2//2+class2%2 #потреба парт в другій групі учнів +desks_3 = class3//2+class3%2 #потреба парт в третій групі учнів +all_desks = desks_1+desks_2+desks_3 +print('You need the ',all_desks,' desks') + + + +#----------------------------------------------------------------- From 0dcc20cef89c2cd8a0d012b5b13242ad827c682e Mon Sep 17 00:00:00 2001 From: Sergiy Babich Date: Tue, 18 Oct 2016 18:37:54 +0300 Subject: [PATCH 2/7] =?UTF-8?q?2.=20=D0=A3=D0=BC=D0=BE=D0=B2=D0=BD=D1=96?= =?UTF-8?q?=20=D0=BA=D0=BE=D0=BD=D1=81=D1=82=D1=80=D1=83=D0=BA=D1=86=D1=96?= =?UTF-8?q?=D1=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Варіант: загальний --- students/km61/Babych_Serhij/homework_2.py | 265 ++++++++++++++++++++++ 1 file changed, 265 insertions(+) create mode 100644 students/km61/Babych_Serhij/homework_2.py diff --git a/students/km61/Babych_Serhij/homework_2.py b/students/km61/Babych_Serhij/homework_2.py new file mode 100644 index 0000000..fada57b --- /dev/null +++ b/students/km61/Babych_Serhij/homework_2.py @@ -0,0 +1,265 @@ +#task1------------------------------------------------------------ +""" +Умова: Дано два цілих числа. Вивести найменше з них. +""" +#програма виводить найбільше з 2 числ +first_number = int(input('Enter first number: ')) +second_number = int(input('Enter second number: ')) +if first_number > second_number: + print('Minimum of two numbers is'second_number) +elif eliffirst_number = second_number: + print('The numbers are same',first_number) +else: + print('Minimum of two numbers is',first_number) + +#----------------------------------------------------------------- + + +#task2------------------------------------------------------------ +""" +Умова: Вивести результат функції sign(x), що визначається наступним чином: +sign(x) = 1, if x > 0, +sign(x) = -1, if x < 0, +sign(x) = 0, if x = 0.. +""" +#Програма порівнює дійне число з нулем за прикладом +#виводить результат 1,-1 або 0 +number = float(input('Enter number: ')) +if number > 0: + print('sign(x) = 1') +elif number == 0: + print('sign(x) = 0') +else: + print('sign(x) = -1') + + + +#----------------------------------------------------------------- + + +#task3------------------------------------------------------------ +""" +Умова: Дано три цілих числа. Вивести найменше з них. +""" +#Програма виводить найменше з 3 цылих числ +number_one = int(input('Enter number one: ')) +number_two = int(input('Enter number two: ')) +number_three = int(input('Enter number three: ')) +if number_one > z and number_two > number_three: + print('Minimum of three numbers is',number_three) +elif number_three > number_two and number_one > number_two: + print('Minimum of three numbers is',number_two) +else: + print('Minimum of three numbers is',number_one) + + + +#----------------------------------------------------------------- + + +#task4------------------------------------------------------------ +""" +Умова: Дано ціле число, що визначає рік. +Визначити, чи є вказаний рік високосним. +Якщо так, то вивести користувачу "LEAP", в іншому випадку – "СOMMON". +""" +#Програма вираховує чи є введений рік високосним +#Рік високосний, якщо виконується хоча б одна з умов: +# рік завжди високосним, якщо його номер ділиться на 4 без остачі і не ділиться без остачі на 100 +# рік завжди високосним, якщо його номер ділиться на 400 без остачі +year = int(input()) +if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0): + print("LEAP") +else: + print("COMMON") + + + +#----------------------------------------------------------------- + + +#task5------------------------------------------------------------ +""" +Умова: Дано три цілих числа. Визначте, скільки з них дорівнюють один одному. +""" +#Програма повинна виводити одне з чисел: +#3 (якщо всі числа однакові), +#2 (якщо два з них дорівнюють один одному, а третє відрізняється) +#або 0 (якщо всі числа різні). +number_one = int(input('Enter number one: ')) +number_two = int(input('Enter number two: ')) +number_three = int(input('Enter number three: ')) +if number_one == number_two == number_three: + print(3) +elif number_one != number_two != number_three and number_one != number_three: + print(0) +else: + print(2) + + + +#----------------------------------------------------------------- + + +#task6------------------------------------------------------------ +""" +Умова: Шахова тура переміщається по горизонталі або по вертикалі. +Дано координати двох клітин шахової дошки. Визначити, чи може тура перейти з першої клітини у другу за один хід. +Користувач вводить чотири цілих числа від 1 до 8, кожне з яких визначає номер рядку та стовпчика клітини. +Перші два числа - для першої клітини, останні два числа – для другої. +Програма має вивести "YES", якщо тура може виконати переміщення, або "NO" в іншому випадку. +""" +#Програма здійснює перевірку чи може Шахова Тура за 1 хід преміститися з однієї клітинки в іншу: +#користувач вводить кординати(від 1 до 8) двох клітинок +cordinate_x1 = int(input('Enter cordinate x1:')) +cordinate_y1 = int(input('Enter cordinate y1:')) +cordinate_x2 = int(input('Enter cordinate x2:')) +cordinate_y2 = int(input('Enter cordinate y2:')) +if cordinate_x1 == cordinate_x2 or cordinate_y1 == cordinate_y2: + print("YES") +else: + print("NO") + + + +#----------------------------------------------------------------- + + +#task7------------------------------------------------------------ +""" +Умова: Дано координати двох клітин шахової дошки. Визначити, чи однакового вони кольору. +Користувач вводить чотири цілих числа від 1 до 8, кожне з яких визначає номер рядку та стовпчика клітини. +Перші два числа - для першої клітини, останні два числа – для другої. +Програма має вивести "YES", якщо колір однаковий, або "NO" в іншому випадку. +""" +#Програма здійснює перевірку чи 2 випадково вибраних клітинки є одного кольору : +#користувач вводить кординати(від 1 до 8) двох клітинок +cordinate_x1 = int(input('Enter cordinate x1:')) +cordinate_y1 = int(input('Enter cordinate y1:')) +cordinate_x2 = int(input('Enter cordinate x2:')) +cordinate_y2 = int(input('Enter cordinate y2:')) +if (cordinate_x1 + cordinate_x2 + cordinate_y1 + cordinate_y2) % 2 == 0: + print('YES') +else: + print("NO") + + + +#----------------------------------------------------------------- + + +#task8------------------------------------------------------------ +""" +Умова: Шаховий король переміщується по горизонталі, по вертикалі або по діагоналі на будь-яку сусідню клітинку. +Дано координати двох клітин шахової дошки. Визначити, чи може король перейти з першої клітини у другу за один хід. +Користувач вводить чотири цілих числа від 1 до 8, кожне з яких визначає номер рядку та стовпчика клітини. +Перші два числа - для першої клітини, останні два числа – для другої. Програма має вивести "YES", якщо хід можливий, або "NO" в іншому випадку. +""" +#Програма здійснює перевірку чи Шаховий Король за 1 хід переміститися з однієї клітинки в іншу : +#користувач вводить кординати(від 1 до 8) двох клітинок +cordinate_x1 = int(input('Enter cordinate x1:')) +cordinate_y1 = int(input('Enter cordinate y1:')) +cordinate_x2 = int(input('Enter cordinate x2:')) +cordinate_y2 = int(input('Enter cordinate y2:')) +if 1 <=(cordinate_x1 - cordinate_x2)**2 + (cordinate_y1 - cordinate_y2)**2 <= 2: + print('YES') +else: + print("NO") + + + +#----------------------------------------------------------------- + + +#task9------------------------------------------------------------ +""" +Умова: Шаховий слон рухається по діагоналі на будь-яку кількість клітин. +Дано координати двох клітин шахової дошки. Визначити, чи може слон перейти з першої клітини у другу за один хід. +Користувач вводить чотири цілих числа від 1 до 8, кожне з яких визначає номер рядку та стовпчика клітини. +Перші два числа - для першої клітини, останні два числа – для другої. +Програма має вивести "YES", якщо хід можливий, або "NO" в іншому випадку. +""" +#Програма здійснює перевірку чи Шаховий Слон за 1 хід переміститися з однієї клітинки в іншу : +#користувач вводить кординати(від 1 до 8) двох клітинок +cordinate_x1 = int(input('Enter cordinate x1:')) +cordinate_y1 = int(input('Enter cordinate y1:')) +cordinate_x2 = int(input('Enter cordinate x2:')) +cordinate_y2 = int(input('Enter cordinate y2:')) +if abs(cordinate_x1 - cordinate_x2) == abs(cordinate_y1 - cordinate_y2): + print('YES') +else: + print('NO') + + + +#----------------------------------------------------------------- + + +#task10------------------------------------------------------------ +""" +Умова: Шахова королева рухається по горизонталі, по вертикалі або по діагоналі на будь-яку кількість клітин. +Дано координати двох клітин шахової дошки.Визначити, чи може королева перейти з першої клітини у другу за один хід. +Користувач вводить чотири цілих числа від 1 до 8, кожне з яких визначає номер рядку та стовпчика клітини. +Перші два числа - для першої клітини, останні два числа – для другої. +Програма має вивести "YES", якщо хід можливий, або "NO" в іншому випадку. +""" +#Програма здійснює перевірку чи Шаховиа Королева за 1 хід переміститися з однієї клітинки в іншу : +#користувач вводить кординати(від 1 до 8) двох клітинок +cordinate_x1 = int(input('Enter cordinate x1:')) +cordinate_y1 = int(input('Enter cordinate y1:')) +cordinate_x2 = int(input('Enter cordinate x2:')) +cordinate_y2 = int(input('Enter cordinate y2:')) +if abs(cordinate_x2 - cordinate_x1) == abs(cordinate_y2 - cordinate_y1) or cordinate_x1 == cordinate_x2 or cordinate_y1 == cordinate_y2 : + print('YES') +else: + print("NO") + + + +#----------------------------------------------------------------- + + +#task11------------------------------------------------------------ +""" +Умова: Шаховий кінь рухається як літера L. +Він може переміщатись на дві клітинки по горизонталі і одну клітинку по вертикалі або на дві клітинки по вертикалі і одну по горизонталі. +Дано координати двох клітин шахової дошки. Визначити, чи може кінь перейти з першої клітини у другу за один хід. +Користувач вводить чотири цілих числа від 1 до 8, кожне з яких визначає номер рядку та стовпчика клітини. +Перші два числа - для першої клітини, останні два числа – для другої. Програма має вивести "YES", якщо хід можливий, або "NO" в іншому випадку. +""" +#Програма здійснює перевірку чи Шаховий Кінь за 1 хід переміститися з однієї клітинки в іншу : +#користувач вводить кординати(від 1 до 8) двох клітинок +cordinate_x1 = int(input('Enter cordinate x1:')) +cordinate_y1 = int(input('Enter cordinate y1:')) +cordinate_x2 = int(input('Enter cordinate x2:')) +cordinate_y2 = int(input('Enter cordinate y2:')) +if (abs(cordinate_x2 - cordinate_x1) == 1 and abs(cordinate_y1 - cordinate_y2) == 2) or (abs(cordinate_y2 - cordinate_y1) == 1 and abs(cordinate_x2 - cordinate_x1) == 2 ): + print('YES') +else: + print("NO") + + + +#----------------------------------------------------------------- + + +#task12------------------------------------------------------------ +""" +Умова: Шоколад має форму прямокутника, розділеного на n×m клітин. +Шоколад може бути розділений на дві частини тільки по горизонталі або по вертикалі, при цьому клітини мають бути цілими. +Визначити, чи можна розділити шоколад за один крок таким чином, щоб одна з частин матиме точно k клітин. +Програма має вивести "YES", якщо шоколад можна поділити, або "NO" в іншому випадку. +""" +#Програма здійснює перевірку чи за один крок можна розділити шоколадку так щоб в ній було точна кількість кусочків : +#користувач вводить розміри плитки шоколаду(довжину і ширину) +long_m = int(input('Enter long chocolate bar ')) +width_n = int(input('Enter width chocolate bar')) +k_squares = int(input('Enter number portions')) +if ((k_squares % long_m == 0) or (k_squares % width_n == 0)) and (long_m * width_n >= k_squares): + print("YES") +else: + print("NO") + + + +#----------------------------------------------------------------- From 47a8e478dfcc6e5a8c6732d38db5143c2759125e Mon Sep 17 00:00:00 2001 From: Sergiy Babich Date: Tue, 18 Oct 2016 19:09:14 +0300 Subject: [PATCH 3/7] 3. for MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Варіанти: 1. Факторіал 2. Сума факторіалів 3. Кількість нулів 4. Лесенка --- students/km61/Babych_Serhij/homework_3.py | 78 +++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 students/km61/Babych_Serhij/homework_3.py diff --git a/students/km61/Babych_Serhij/homework_3.py b/students/km61/Babych_Serhij/homework_3.py new file mode 100644 index 0000000..6ed3ce0 --- /dev/null +++ b/students/km61/Babych_Serhij/homework_3.py @@ -0,0 +1,78 @@ +#task1------------------------------------------------------------ +""" +Факториалом числа n называется произведение 1 × 2 × ... × n. Обозначение: n!. +По данному натуральному n вычислите значение n!. +Пользоваться математической библиотекой math в этой задаче запрещено. +""" +#Програма вираховує факторіал введеного числа +number_n = int(input('Enter number of factorial')) +factorial = 1 +for i in range(1,number_n+1): + factorial = factorial * i +print('Factorial = ',factorial) + + + +#----------------------------------------------------------------- + + +#task2------------------------------------------------------------ +""" +По данному натуральном n вычислите сумму 1!+2!+3!+...+n!. +В решении этой задачи можно использовать только один цикл. +Пользоваться математической библиотекой math в этой задаче запрещено. +""" +#Програма вираховує суму факторіалів +number_n = int(input('Enter number of factorial')) +sum_factorial = 0 +for i in range(number_n): + factorial = 1 + for j in range(i+1): + factorial *= j+1 + sum_factorial += factorial +print('Suma factorials = ',sum_factorial) + + + +#----------------------------------------------------------------- + + +#task3------------------------------------------------------------ +""" +Дано N чисел: сначала вводится число N, затем вводится ровно N целых чисел. +Подсчитайте количество нулей среди введенных чисел и выведите это количество. +Вам нужно подсчитать количество чисел, равных нулю, а не количество цифр. +""" +#Програма вираховує кількість введених числ, які рівні нулю +n_numbers = int(input('Enter numbers: ')) +sum_null_number = 0 +for i in range(n_numbers): + n_numbers = int(input()) + if n_numbers == 0: + sum_null_number += 1 +print('Sum number 0 is ',sum_null_number) + + + +#----------------------------------------------------------------- + + +#task4------------------------------------------------------------ +""" +По данному натуральному n ≤ 9 выведите лесенку із n ступенек, i-я ступенька состоит із чисел от 1 до i без пробелов. +""" +#Програма будує лесенку із натуральних числ +n = int(input('Enter number integer n ≤ 9 ')) +i = 1 +for i in range(1,n+1): + for j in range(1,i+1): + print(j,end='') + if n > 9: + break + print() + + + +#----------------------------------------------------------------- + + From fcb17ebaf79dd4234a320232a80bd0a469202df9 Mon Sep 17 00:00:00 2001 From: Sergiy Babich Date: Tue, 18 Oct 2016 20:06:59 +0300 Subject: [PATCH 4/7] 4. while MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Варіант: загальний --- students/km61/Babych_Serhij/homework_4.py | 377 ++++++++++++++++++++++ 1 file changed, 377 insertions(+) create mode 100644 students/km61/Babych_Serhij/homework_4.py diff --git a/students/km61/Babych_Serhij/homework_4.py b/students/km61/Babych_Serhij/homework_4.py new file mode 100644 index 0000000..d06d7fc --- /dev/null +++ b/students/km61/Babych_Serhij/homework_4.py @@ -0,0 +1,377 @@ +#task1------------------------------------------------------------ +""" +Умова: По данному целому числу N распечатайте все квадраты натуральных чисел, +не превосходящие N, в порядке возрастания. +""" +N = int(input()) +i = 1 +while i**2 <= N: + print(i**2) + i += 1 + + + +#----------------------------------------------------------------- + + +#task2------------------------------------------------------------ +""" +Умова: Дано целое число, не меньшее 2. Выведите его наименьший натуральный делитель, отличный от 1. +""" +n = int(input()) +i = 2 +while n%i != 0: + i+=1 +print(i) + + +#----------------------------------------------------------------- + + +#task3------------------------------------------------------------ +""" +Умова: По данному натуральному числу N найдите наибольшую целую степень двойки, не превосходящую N. +Выведите показатель степени и саму степень. + +Операцией возведения в степень пользоваться нельзя! +""" +N = int(input()) +i = 0 +while 2 ** (i+1) <= N: + i += 1 +print(i) +print(2**i) + + + +#----------------------------------------------------------------- + + +#task4------------------------------------------------------------ +""" +Умова: В первый день спортсмен пробежал x километров, +а затем он каждый день увеличивал пробег на 10% от предыдущего значения. +По данному числу y определите номер дня, на который пробег спортсмена составит не менее y километров. +Программа получает на вход действительные числа x и y и должна вывести одно натуральное число. +""" +x = int(input()) +y = int(input()) +day = 1 +while x < y: + x = x * 1.1 + day = day + 1 +print(day) + + + +#----------------------------------------------------------------- + + +#task5------------------------------------------------------------ +""" +Умова: Вклад в банке составляет x рублей. Ежегодно он увеличивается на p процентов, после чего дробная часть копеек отбрасывается. +Определите, через сколько лет вклад составит не менее y рублей. +""" +x=int(input()) +p=int(input()) +y=int(input()) +year=0 +while x i: + i = a + else: + pass +print(i) + + + +#----------------------------------------------------------------- + + +#task10------------------------------------------------------------ +""" +Умова: Последовательность состоит из натуральных чисел и завершается числом 0. +Определите индекс наибольшего элемента последовательности. +Если наибольших элементов несколько, выведите индекс первого из них. +Нумерация элементов начинается с нуля. +""" +i = 0 +ind = 0 +while True: + a = int(input()) + if a == 0: + break + if a > i: + i = a + index = ind + ind +=1 +print(index) + + + +#----------------------------------------------------------------- + + +#task11------------------------------------------------------------ +""" +Умова: Определите количество четных элементов в последовательности, завершающейся числом 0 +""" +i = 0 + +while True: + a = int(input()) + if a == 0: + break + elif a % 2 == 0: + i += 1 + else: + pass +print(i) + + + +#----------------------------------------------------------------- + + +#task12------------------------------------------------------------ +""" +Умова: Последовательность состоит из натуральных чисел и завершается числом 0. +Определите, сколько элементов этой последовательности больше предыдущего элемента. +""" +number = 1 +prev = 0 +i = 0 +while number != 0: + number = int(input()) + if number > prev: + if prev != 0: + i += 1 + prev = number +print(i) + + + + +#----------------------------------------------------------------- + + + +#task13------------------------------------------------------------ +""" +Умова: Последовательность состоит из различных натуральных чисел и завершается числом 0. +Определите значение второго по величине элемента в этой последовательности. +Гарантируется, что в последовательности есть хотя бы два элемента. +""" +number = 1 +first = 0 +second = 0 +while number != 0: + number = int(input()) + if number > first: + second = first + first = number + elif number > second: + second = number + else: + pass +print(second) + + + + +#----------------------------------------------------------------- + + +#task14------------------------------------------------------------ +""" +Умова: Последовательность состоит из натуральных чисел и завершается числом 0. +Определите, сколько элементов этой последовательности равны ее наибольшему элементу. +""" +number = 1 +max = 0 +i = 1 +while number != 0: + number = int(input()) + if number > max: + i = 1 + max = number + elif number == max: + i += 1 + else: + pass +print(i) + + + + + +#----------------------------------------------------------------- + + +#task15------------------------------------------------------------ +""" +Умова: Последовательность Фибоначчи определяется так: +φ0 = 0, φ1 = 1, φn = φn−1 + φn−2. +По данному числу n определите n-е число Фибоначчи φn. +Эту задачу можно решать и циклом for. +""" +i = 0 +n_1 = 1 +n_2 = 0 +n = 0 +count = int(input()) - 1 +for i in range(0, count): + n = n_1 + n_2 + n_2 = n_1 + n_1 = n +if count == 0: + n = 1 +print(n) + + + + +#----------------------------------------------------------------- + + +#task16------------------------------------------------------------ +""" +Умова: Дано натуральное число A. +Определите, каким по счету числом Фибоначчи оно является, то есть выведите такое число n, что φn = A. +Если А не является числом Фибоначчи, выведите число -1. +""" +a = int(input()) +i = 0 +n_2, n_1 = 0, 1 +while True: + if n_1 > a: + i = -1 + break + elif n_1 == a: + i += 1 + break + n_2, n_1 = n_1, n_2 + n_1 + i += 1 +print(i) + + + +#----------------------------------------------------------------- + + +#task17------------------------------------------------------------ +""" +Умова: Дана последовательность натуральных чисел, завершающаяся числом 0. +Определите, какое наибольшее число подряд идущих элементов этой последовательности равны друг другу. +""" +number = 1 +i = 1 +prev_i = 0 +prev = 0 +while True: + number = int(input()) + if number == 0: + break + if number == prev: + i += 1 + else: + i = 1 + if i > prev_i: + prev_i = i + prev = number + +print(prev_i) + + + + +#----------------------------------------------------------------- + + +#task18------------------------------------------------------------ +""" +Умова: Дана последовательность натуральных чисел x1, x2, ..., xn. Стандартным отклонением называется величина +σ = √((x1−s)2+(x2−s)2+…+(xn−s)2n−1) +где s=(x1+x2+…+xn)/n — среднее арифметическое последовательности. +Определите стандартное отклонение для данной последовательности натуральных чисел, завершающейся числом 0. +""" + + +#----------------------------------------------------------------- From f9cba42170af4bd12262d7a243bba210f0c4a6df Mon Sep 17 00:00:00 2001 From: Sergiy Babich Date: Tue, 1 Nov 2016 18:25:46 +0200 Subject: [PATCH 5/7] 5. function MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Тема: "Функції та рекурсія" Варіант: загальний --- students/km61/Babych_Serhij/homework_5.py | 84 +++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 students/km61/Babych_Serhij/homework_5.py diff --git a/students/km61/Babych_Serhij/homework_5.py b/students/km61/Babych_Serhij/homework_5.py new file mode 100644 index 0000000..e07645c --- /dev/null +++ b/students/km61/Babych_Serhij/homework_5.py @@ -0,0 +1,84 @@ +# task1------------------------------------------------------------- +""" +Умова: Даны четыре действительных числа: x1, y1, x2, y2. +Напишите функцию distance(x1, y1, x2, y2), вычисляющая расстояние между точкой (x1,y1) и (x2,y2). +Считайте четыре действительных числа и выведите результат работы этой функции. +""" +# Програма для обчислення відстані між 2 точками за їх кординатами +# використаєм відому формулу ((x2- x1)^2 + (y2 - y1)^2)^(1/2) +def distance(x1,y1,x2,y2): # створюємо функцію + return ((x2-x1)**2 + (y2-y1)**2)**(1/2) # блок дії функції + +x1 = float(input()) +y1 = float(input()) +x2 = float(input()) +y2 = float(input()) +print(distance(x1,y1,x2,y2)) # визов функції для введених значень + + +#----------------------------------------------------------------- + + +# task2------------------------------------------------------------ +""" +Умова: Дано действительное положительное число a и целоe число n. +Вычислите an. Решение оформите в виде функции power(a, n). +""" +# Програма піднесення дійсного додатнього числа (a) до цілої степені (n) +def power(a, n): # створюємо функцію + pow = 1 + for i in range(abs(n)): # створюємо цикл для пднесення до степені + pow = pow * a + if n >= 0: # оскільки стпінь може бути відємно то потрібно накласти умову + return pow # при цілій додатній степені і нуля + else: + return 1 / pow # при цілій відємній степені +a = float(input()) +n = int(input()) +print(power(a, n)) # визов функції для введених значень + + +#----------------------------------------------------------------- + + +# task3------------------------------------------------------------ +""" +Умова: Дано действительное положительное число a и целое неотрицательное число n. +Вычислите an не используя циклы, возведение в степень через ** и функцию math.pow(), +а используя рекуррентное соотношение an=a⋅an-1. +""" +# Програма піднесення дійсного додатнього числа (a) до цілої не відємної степені (n) +def power(a, n): # створюємо функцію + if n == 0: # накладаємово умову для степені + return 1 + elif n > 0: + return a * power(a,n -1) # визов рекурсії для піднесення до степені + +a = float(input()) +n = int(input()) +print(power(a, n)) # визов функції для введених значень + + +#----------------------------------------------------------------- + + +# task4------------------------------------------------------------ +""" +Умова: Напишите функцию fib(n), которая по данному целому неотрицательному n возвращает n-e число Фібоначчи. +В этой задаче нельзя использовать циклы — используйте рекурсию. +""" +# Програма яка за порядковим номером повертає значення числа Фібоначи +def fib(n): # створюємо функцію + if n==1: # накладаємо умову вмконання для різних значень + return 1 + if n==2: + return 1 + else: + return fib(n-1)+fib(n-2) # визов рекурсії +n = int(input()) +print(power(n)) # визов функції для введеного значення + + +#----------------------------------------------------------------- + + From a8f10fb8be8edc6e5d730da8254674ed863da983 Mon Sep 17 00:00:00 2001 From: Sergiy Babich Date: Tue, 6 Dec 2016 20:08:33 +0200 Subject: [PATCH 6/7] 6.Lists MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Тема: "Списки" --- students/km61/Babych_Serhij/homework_6.py | 259 ++++++++++++++++++++++ 1 file changed, 259 insertions(+) create mode 100644 students/km61/Babych_Serhij/homework_6.py diff --git a/students/km61/Babych_Serhij/homework_6.py b/students/km61/Babych_Serhij/homework_6.py new file mode 100644 index 0000000..833141d --- /dev/null +++ b/students/km61/Babych_Serhij/homework_6.py @@ -0,0 +1,259 @@ +#task1------------------------------------------------------------ +""" +Умова: Выведите все элементы списка с четными индексами (то есть A[0], A[2], A[4], ...). +""" +A = input().split() +for i in range(len(A)): + A[i] = int(A[i]) + +print(' '.join([str(j) for j in A[0::2]])) + +#----------------------------------------------------------------- + + +#task2------------------------------------------------------------ +""" +Умова: Выведите все четные элементы списка. При этом используйте цикл for, перебирающий элементы списка, а не их индексы! +""" + +A = input().split() +for i in A: + if int(i) % 2 == 0: + print(end =' ' +i) + +#----------------------------------------------------------------- + + +#task3------------------------------------------------------------ +""" +Умова: Дан список чисел. Выведите все элементы списка, которые больше предыдущего элемента. +""" + +numbers = input().split() +for i in range(len(numbers)): + if int(numbers[i])>int(numbers[i-1]) and i!=0: + print(numbers[i]) + + +#----------------------------------------------------------------- + + +#task4------------------------------------------------------------ +""" +Умова: Дан список чисел. Если в нем есть два соседних элемента одного знака, выведите эти числа. Если соседних элементов одного знака нет — не выводите ничего. Если таких пар соседей несколько — выведите первую пару. +""" + +A = [int(number) for number in input().split()] +for number in range(1, len(A)): + if A[number] * A[number - 1] >= 0: + print(A[number - 1]) + print(A[number]) + break + +#----------------------------------------------------------------- + + +#task5------------------------------------------------------------ +""" +Умова: Дан список чисел. Определите, сколько в этом списке элементов, которые больше двух своих соседей, и выведите количество таких элементов. Крайние элементы списка никогда не учитываются, поскольку у них недостаточно соседей. +""" + +A = [int(number) for number in input().split()] +sum = 0 + +for number in range(1, len(A) - 1): + if A[number] > A[number - 1] and A[number] > A[number + 1]: + sum += 1 +print(sum) + +#----------------------------------------------------------------- + + +#task6------------------------------------------------------------ +""" +Умова: Дан список чисел. Выведите значение наибольшего элемента в списке, а затем индекс этого элемента в списке. Если наибольших элементов несколько, выведите индекс первого из них. +""" + +A = [int(number) for number in input().split()] +i = 0 +max = A[0] + +for number in range(1, len(A)): + if A[number] > max: + max = A[number] + i = number +print(max, i) + +#----------------------------------------------------------------- + + +#task7------------------------------------------------------------ +""" +Умова: Петя перешёл в другую школу. На уроке физкультуры ему понадобилось определить своё место в строю. Помогите ему это сделать. +Программа получает на вход невозрастающую последовательность натуральных чисел, означающих рост каждого человека в строю. После этого вводится число X – рост Пети. Все числа во входных данных натуральные и не превышают 200. +Выведите номер, под которым Петя должен встать в строй. Если в строю есть люди с одинаковым ростом, таким же, как у Пети, то он должен встать после них. +""" +A = [int(number) for number in input().split()] +height = int(input()) +i = 1 + +for number in range(0, len(A)): + if A[number] < height: + i = number + 1 + break +else: + i = len(A) + 1 +print(i) + +#----------------------------------------------------------------- + + +#task8------------------------------------------------------------ +""" +Умова: Дан список, упорядоченный по неубыванию элементов в нем. Определите, сколько в нем различных элементов. +""" +A = [int(number) for number in input().split()] +A_2 = [] + +for number in A: + for i in A_2: + if number == i: + break + else: + A_2.append(number) +print(len(A_2)) + +#----------------------------------------------------------------- + + +#task9------------------------------------------------------------ +""" +Умова: Переставьте соседние элементы списка (A[0] c A[1], A[2] c A[3] и т. д.). Если элементов нечетное число, то последний элемент остается на своем месте. +""" +Ar = [int(m) for m in input().split()] + +for m in range(0, len(Ar) - 1, 2): + Ar[m], Ar[m + 1] = Ar[m + 1], Ar[m] + +for m in Ar: + print(m, end=' ') + + +#----------------------------------------------------------------- + + +#task10----------------------------------------------------------- +""" +Умова: В списке все элементы различны. Поменяйте местами минимальный и максимальный элемент этого списка. +""" + +Ar = [int(num) for num in input().split()] +max = 0 +min = 0 + +for num in range(len(Ar)): + if Ar[num] > Ar[max]: + max = num + if Ar[num] < Ar[min]: + min = num +Ar[min], Ar[max] = Ar[max], Ar[min] + +for num in Ar: + print(num, end = ' ') + +#----------------------------------------------------------------- + + +#task11----------------------------------------------------------- +""" +Умова: Дан список из чисел и индекс элемента в списке k. Удалите из списка элемент с индексом k, сдвинув влево все элементы, стоящие правее элемента с индексом k. +Программа получает на вход список, затем число k. Программа сдвигает все элементы, а после этого удаляет последний элемент списка при помощи метода pop() без параметров. +Программа должна осуществлять сдвиг непосредственно в списке, а не делать это при выводе элементов. Также нельзя использовать дополнительный список. Также не следует использовать метод pop(k) с параметром. +""" +Ar = [int(num) for num in input().split()] +k = int(input()) +Ar.pop(k) +for elem in Ar: + print(elem, end=' ') + +#----------------------------------------------------------------- + + +#task12----------------------------------------------------------- +""" +Умова: Дан список целых чисел, число k и значение C. Необходимо вставить в список на позицию с индексом k элемент, равный C, сдвинув все элементы, имевшие индекс не менее k, вправо. +Посколько при этом количество элементов в списке увеличивается, после считывания списка в его конец нужно будет добавить новый элемент, используя метод append. +Вставку необходимо осуществлять уже в считанном списке, не делая этого при выводе и не создавая дополнительного списка. ++""" +Ar = [int(num) for num in input().split()] +k, c = [int(num) for num in input().split()] +temp = c + +for num_2 in range(k, len(Ar)): + Ar[num_2], temp = temp, Ar[num_2] +Ar.append(temp) + +for num in Ar: + print(num, end = ' ') + +#----------------------------------------------------------------- + + +#task13----------------------------------------------------------- +""" +Умова: Дан список чисел. Посчитайте, сколько в нем пар элементов, равных друг другу. Считается, что любые два элемента, равные друг другу образуют одну пару, которую необходимо посчитать. +""" +Ar = [int(num) for num in input().split()] +i = 0 + +for num in range(len(Ar)): + for num_2 in range(num + 1, len(Ar)): + if Ar[num] == Ar[num_2]: + i += 1 +print(i) + +#----------------------------------------------------------------- + + +#task14----------------------------------------------------------- +""" +Умова: Дан список. Выведите те его элементы, которые встречаются в списке только один раз. Элементы нужно выводить в том порядке, в котором они встречаются в списке. +""" +A = [int(num) for num in input().split()] + +for num in range(len(array)): + for num_2 in range(len(A)): + if A[num] == A[num_2] and num != num_2: + break + else: + print(A[num]) + +#----------------------------------------------------------------- + + +#task16----------------------------------------------------------- +""" +Умова: Известно, что на доске 8?8 можно расставить 8 ферзей так, чтобы они не били друг друга. Вам дана расстановка 8 ферзей на доске, определите, есть ли среди них пара бьющих друг друга. +Программа получает на вход восемь пар чисел, каждое число от 1 до 8 — координаты 8 ферзей. Если ферзи не бьют друг друга, выведите слово NO, иначе выведите YES. +""" + +Q = [[int(num) for num in input().split()] for num_2 in range(8)] +beat = False + +for num in range(len(Q)): + x1 = Q[num][0] + y1 = Q[num][1] + for num_2 in range(len(Q)): + if num == num_2: + continue + x2 = Q[num_2][0] + y2 = Q[num_2][1] + if x1 == x2 or y1 == y2 or abs(x1-x2) == abs(y1-y2): + beat = True + break +if beat: + print('YES') +else: + print('NO') + +#----------------------------------------------------------------- \ No newline at end of file From 9fd4cb2812b3e9b8012ef0f8ad7abf83a73307f8 Mon Sep 17 00:00:00 2001 From: Sergiy Babich Date: Tue, 6 Dec 2016 20:11:25 +0200 Subject: [PATCH 7/7] 7.Two-dimensional lists (arrays) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Тема: "Двовимірні масиви" --- homework_7.py | 134 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 homework_7.py diff --git a/homework_7.py b/homework_7.py new file mode 100644 index 0000000..5af7e35 --- /dev/null +++ b/homework_7.py @@ -0,0 +1,134 @@ +#task1------------------------------------------------------------ +""" +Умова: Найдите индексы первого вхождения максимального элемента. Выведите два числа: номер строки и номер столбца, +в которых стоит наибольший элемент в двумерном массиве. Если таких элементов несколько, то выводится тот, +у которого меньше номер строки, а если номера строк равны то тот, у которого меньше номер столбца. +""" + +matrix = input().split() +n = int(matrix[0]) +m = int(matrix[1]) +max_i = 0 +max_j = 0 +a = [[int(j) for j in input().split()] for i in range(n)] +for i in range(0, n): + for j in range(0, m): + if a[i][j] > a[max_i][max_j]: + max_i = i + max_j = j +print(max_i, max_j) + + + +#----------------------------------------------------------------- + + +#task2------------------------------------------------------------ +""" +Умова: Дано нечетное число n. Создайте двумерный массив из n×n элементов, заполнив его символами "." (каждый элемент массива является строкой из одного символа). +Затем заполните символами "*" среднюю строку массива, средний столбец массива, главную диагональ и побочную диагональ. +В результате единицы в массиве должны образовывать изображение звездочки. Выведите полученный массив на экран, разделяя элементы массива пробелами. +""" + +snow = int(input()) +j,t = int(snow-1),int((snow-1)/2) +a = [['.'] * t + ['*'] + ['.'] * t for i in range(snow)] +a[t] = ['*'] * snow +for i in range(snow): + a[i][i] = '*' + a[j][i] = '*' + j -= 1 +for row in a: + print(' '.join([str(elem) for elem in row])) + + +#----------------------------------------------------------------- + + +#task3------------------------------------------------------------ +""" +Умова: Даны два числа n и m. Создайте двумерный массив размером n×m и заполните его символами "." и "*" в шахматном порядке. +В левом верхнем углу должна стоять точка. +""" + +n, m = input().split() +array = [] +for i in range(int(n)): + temp = [] + for j in range(int(m)): + if j % 2 == 0: + temp.append('.') + else: + temp.append('*') + if i % 2 != 0: + temp.reverse() + array.append(temp) + +for row in array: + print(' '.join([str(elem) for elem in row])) + + + +#----------------------------------------------------------------- + + +#task4------------------------------------------------------------ +""" +Умова: Дано число n. Создайте массив размером n×n и заполните его по следующему правилу. +На главной диагонали должны быть записаны числа 0. На двух диагоналях, прилегающих к главной, числа 1. +На следующих двух диагоналях числа 2, и т.д. +""" + +n = int(input()) +a = [["."] * n for i in range(n)] +for i in range(n): + for j in range(n): + a[i][j] = abs(j - i) + +for row in a: + print(' '.join([str(elem) for elem in row])) + + + +#----------------------------------------------------------------- + + +#task5------------------------------------------------------------ +""" +Умова: Дано число n. Создайте массив размером n×n и заполните его по следующему правилу: +Числа на диагонали, идущей из правого верхнего в левый нижний угол равны 1. +Числа, стоящие выше этой диагонали, равны 0. +Числа, стоящие ниже этой диагонали, равны 2. +Полученный массив выведите на экран. Числа в строке разделяйте одним пробелом. +""" +n = int(input()) +a = [[0] * n for i in range(n)] +for i in range(n): + a[i][(n - 1) - i] = 1 + for j in range(n - i, n): + a[i][j] = 2 + +for row in a: + print(' '.join([str(elem) for elem in row])) + + +#----------------------------------------------------------------- + + +#task6------------------------------------------------------------ +""" +Умова: Дан двумерный массив и два числа: i и j. Поменяйте в массиве столбцы с номерами i и j и выведите результат. +Программа получает на вход размеры массива n и m, затем элементы массива, затем числа i и j. +Решение оформите в виде функции swap_columns(a, i, j). +""" +n, m = [int(i) for i in input().split()] +a = [[int(j) for j in input().split()] for i in range(n)] +i, j = [int(i) for i in input().split()] +for x in range(n): + a[x][i], a[x][j] = a[x][j], a[x][i] + +for row in a: + print(' '.join([str(a) for a in row])) + + +#----------------------------------------------------------------- \ No newline at end of file