середа, 30 листопада 2016 р.

Приклади


if numbig < 100:      # если значение переменной numbig меньше 100, то ...
c = a**b     # возвести значение переменной a в степень b,
                # результат присвоить c.
if numbig < 100: # если значение переменной numbig меньше 100, то ...c = a**b # возвести значение переменной a в степень b, # результат присвоить c.
Первая строка конструкции if — это заголовок, в котором проверяется условие выполнения строк кода после двоеточия (тела конструкции). В примере выше тело содержит всего лишь одно выражение, однако чаще их бывает куда больше.

print "Привет"
tovar1 = 50
tovar2 = 32
if tovar1+ tovar2 > 99 :
print "Сумма не достаточна"
else:
print "Чек оплачен"
print "Пока"



x = -10
if x > 0:
print 1
elif x < 0:
print -1
else:
print 0

середа, 23 листопада 2016 р.

Розгалуження в програмах

Розгалуження в програмах 

У більшості програм на певному кроці їх виконання потрібно вибирати той чи інший варіант подальших дій, тобто використовувати розгалуження. Умовою вибору того чи іншого варіанту є виконання деякої умови. Сама умова повинна бути булевського типу, тобто приймати лише два значення true або false. Сама умова записується одразу після оператора if, а після її через двокрапку записується команда, які необхідно виконати. Якщо команд декілька, то вони відокремлюються блоком, які мають однаковий відступ після оператораif. Відступ встановлюється клавішею Tab або пробілами. Якщо розгалуження закінчилося, то наступні команди слід писати під оператором if. Саме відступи виконують роль фігурних дужок на С++ або операторів begin  end на PASCAL. Наприклад,
if a>0:
    print(“Дане число додатне”)
У випадку виконання інших команда у разі невиконання умови слід їх писати після оператора else, не забуваючи також поставити двокрапку. Наприклад,
if a>0:
    print(“Дане число додатне”)
else: 
print(“Дане число недодатне”)

Якщо необхідно використати декілька гілок розгалуження, то використовують оператор elif, що є скороченою формою операторівelse: if, причому їх кількість необмежена. Наприклад,
if a>0:
    print(“Дане число додатне”)
elif a<0:
    print(“Дане число відʼємне”)
else: 
print(“Дане число дорівнює нулю”)
Зауваження: функцію print() можна писати в тому самому рядку, де і оператори if, elif чи else. Це можна робити, коли команда, що відноситься до умови лише одна, а у випадку блоку команд краще записувати з окремого рядка.
Розглянемо, які умови можна використовувати
Назва
Позначення
Приклад
Рівність
==
а==25
Більше 
a>25
Менше
a<25
Більше або дорівнює
>=
a>=25
Менше або дорівнює
<=
a<=25
Не дорівнює
!=
а!=25
Якщо умова складна, то прості умови повʼязуються між собою службовими словами and, or та not()(логічне "і", логічне "або" та логічне "ні"). На мові PYTHON у цих операцій найнижчий пріоритет, тому прості умови не беруться в дужки. Наприклад, розглянемо, в якій координатній чверті знаходиться точка з координатами (x,y):
if x>0 and y>0:
    print(“І чверть”)
elif x<0 and y>0:
    print(“ІІ чверть”)
elif x<0 and y<0:
    print(“ІIІ чверть”)
elif x>0 and y<0:
    print(“ІV чверть”)
else:
print(“Точка лежить на координатних осях”)
Розглянемо ще один приклад перевірки умови рівності дробу x/yнулю.
if x==0 and not(y==0):
    print(“Дріб дорівнює нулю”)
Зауваження. Цю саму умову можна було записати і так:
if x==0 and y!=0:
Розглянемо кілька прикладів програм.
Приклад 1.
Дано одне натуральне число. Якщо воно парне, то вивести слово «YES», а якщо непарне, то – «NO»
Вхід                                   Вихід
34                                       YES
n=int(input())
if n%2==0:
    print(“YES”)
else:
    print(“NO”)

Приклад 2.
У двох рядках дано по одному цілому числу. Вивести максимальне з цих двох чисел.
Вхід                                   Вихід
3                                         4
4                   
a=int(input())
b=int(input())
if a>b:
    print(a)
else:
    print(b)

Приклад 3.
У одному рядку через пробіл дано три цілих числа. Вивести мінімальне з цих трьох чисел.
Вхід                                   Вихід
3 2 5                                   2
Програма:               
a, b, c = map(int, input().split())
m=a
if b<m:
    m=b
if c<m:
    m=c
print(m)

Приклад 4.
У одному рядку через пробіл дано чотири цілих числа – перші дві є координатами шахового коня на шаховій дошці, а інші два – координати короля протилежного кольору. Вивести слово «YES», якщо король перебуває під нападом з боку коня, або слово «NO», якщо ні.
Вхід                                   Вихід
3 2 5 1                                YES
Програма:               
x1, y1, x2, y2 = map(int, input().split())
if (abs(x1-x2)==1 and abs(y1-y2)==2) or (abs(x1-x2)==2 and abs(y1-y2)==1):
    print(“YES”)
else:
print(“NO”)


Зауваження. Оператор аbs() – це модуль числа, що стоїть у дужках. Читаємо умову: якщо модуль різниці перших координат дорівнює 1 і модуль різниці других координат дорівнює 2 або модуль різниці перших координат дорівнює 2 і модуль різниці других координат дорівнює 2, то виводимо слово «YES», інакше виводимо слово «NO».

четвер, 10 листопада 2016 р.

Зчитування даних та виведення результату

Зчитування даних та виведення результату 
На цьому занятті ми навчимося зчитувати дані до програми. Для зчитування даних з клавіатури на мові PYTHON існує функція input(). Результат зчитування потрібно надати деякій змінній. Наприклад:   a=input()
Змінна а набуде значення рядка, введеного з клавіатури. Зверніть увагу, саме рядка, тобто змінна а є рядком. Якщо нам потрібно зчитати саме число, то потрібно за допомогою функції int() перевести цей рядок у ціле число. При цьому рядок не повинен містити інших символів крім цифр та знаків «+» і «-». Тобто програма буде містити два рядки:
a=input()
a=int(a)
Зверніть увагу, спочатку змінна а набуває значення рядкового типу, а потім набуває цілочисленого типу, тобто тип змінної може змінюватися під час виконання програми. В цьому полягає суттєва відмінність мови PYTHON від інших відомих мов, зокрема PASCAL чиC++. Саме тому в цій мові немає опису змінних. Але ці два рядки можна обʼєднати і записати так:
a=int(input())
Тобто результат зчитування переводиться до цілочисленого типу і записується у змінну а. Якщо спочатку потрібно вивести запитання, а відповідь на нього записати у змінну, то зміст питання записується у дужках функції input(). Наприклад, 
a=int(input("Введіть значення сторони квадрата"))
Якщо потрібно зчитати дві змінні, що записані у різних рядках, то два рази записуємо таку комбіновану функцію, але для двох різних змінних:
a=int(input())
b=int(input())
Якщо ж дві змінні записані у одному рядку через пробіл, то процес зчитування складніший. Приведемо приклад:   ab = map(intinput().split())
Розберемося спершу із записом input().split(). Для функції input() є метод split(), який повертає список рядків, розрізаючи зчитуваний рядок по пробілах. Складно? Звичайно, складно, але тільки на початку вивчення PYTHON! Для тих, хто тільки починає вивчати програмування і не знайомий з іншими мовами програмування, можна просто запам’ятати такий спосіб зчитування, а розібратися можна буде пізніше. А для тих, хто знайомий з поняттям масивів та рядків, спробую пояснити. По-перше, поняття методу: це те, що можна робити з обʼєктом. Обʼєкт – це зчитуваний рядок, а процес розрізання – це метод. Метод дописується до обʼєкта через крапку. По-друге, за замовчуванням метод split розрізає даний рядок по пробілах на інші рядки. Якщо в дужках ми вкажемо інший символ, то розрізання відбудеться по ньому. Наприклад:
Дано рядок 12:04:23
Після команди
ab, c = map(intinput().split(“:”))
змінна а набуде значення 12, змінна b набуде значення 4, а змінна снабуде значення 23.
По-третє, функція map(f,s) має два параметри: f – функція, яка виконується, – список обʼєктів, для яких ця функція виконується.
Отже, спочатку зчитується рядок, який розбивається на інші рядки по пробілах. Список рядків, в PASCAL – це масив рядків, за допомогою функції int() переводиться у список чисел, які записуються у змінні a таb. Якщо ще незрозуміло, то при вивченні списків (масивів), все стане на свої місця :).
Якщо потрібно зчитати дійсне число, то використовуємо замість int функцію float().
 Наприклад    a=float(input())

Приклад 1.
Дано натуральне число. Вивести останню цифру цього числа.
Вхід                                                     Вихід
2341                                                      1 
В цьому і наступних прикладах показано приклад вхідних і вихідних даних, тобто для введеного числа 2341 відповіддю буде 1. Приклад потрібен для кращого розуміння умови задачі і формату вхідних та вихідних даних.
Для того, щоб знайти останню цифру числа (число одиниць), достатньо знайти остачу від ділення даного числа на 10. Приклад програми:  a=int(input())   print(a%10)

Приклад 2.
Дано натуральне трицифрове число. Вивести суму цифр цього числа.
Вхід                                                     Вихід
538                                                      16 
Останню цифру ми знаходити вже вміємо (див. приклад 1). Для знаходження числа сотень потрібно знайти цілу частку від ділення даного числа на 100. Для знаходження числа десятків можна знайти спочатку кількість десятків цього числа (двоцифрове число), а потім знайти його останню цифру. Після цього виводимо суму цих чисел. Приклад програми:
a=int(input())                                            зчитування числа
x=a//100                                                    число сотень
y=a//10%10                                               число десятків
z=a%10                                                     число одиниць
s=x+y+z                                                    сума цифр
print(s)                                                       виведення результату 

Приклад 3.
 Дано кількість секунд, що пройшли від початку доби. Вивести покази електронного годинника у форматі h:mm:ss, де h – кількість годин (від 0 до 23), mm – двозначне число хвилин (від 00 до 59), ss – двозначне число секунд (від 00 до 59).
Вхід                                                     Вихід
122876                                                 10:07:56
Спочатку знайдемо число годин (частка від ділення на 3600), потім число хвилин (частка від ділення на 60 від остачі від ділення на 3600), потім число секунд (остача від ділення на 60). Врахуємо, що кількість годин не може бути більше 23, тому знайдемо остачу від ділення на 24. При виведенні числа хвилин та секунд, будемо виводити спочатку кількість десятків, а потім кількість одиниць. У функції print() поставимо розділювач sep=’’. Приклад програми:
a=int(input())
h=a//3600%24
m=a%3600//60
s=a%60
print(h, ‘:’, m//10, m%10, ‘:’, s//10, s%10, sep= ‘’)

Приклад 4.
В одному рядку через пробіл дані два дійсних числа – довжини сторін прямокутника. Вивести два числа через пробіл – площу і периметр прямокутника
Вхід                                                     Вихід
2.7 4                                                     10.8 13.4  

Приклад програми:
a, b=map(float, input().split())
s=a*b
p=2*(a+b)
print(s, p)