Водич за Пајтон 2.6/Ко ту улази?

Улаз и променљиве

уреди

Сада осећам да је време за стварно компликован програм. Ево га:

print "Стој!"
user_reply = raw_input("Ко иде овде? ")
print "Можете проћи,", user_reply

Када га ја покренем, овде је оно што мој екран приказује:

Стој!
Ко иде овде? Џош
Можете проћи, Џош

Запамтите: Покретањем програма куцањем F5, Пајтонова љуска ће дати излаз:

Стој!
Ко иде овде?

Треба да укуцате ваше име у Пајтон љусци, затим кликните Enter да добијете даљи излаз.

Наравно када покренете програм ваш прозор ће изгледати другачије због raw_input() изјаве. Када покренете програм приметићете (покренули сте програм, зар не?) да морате да укуцате ваше име и онда притисните Enter. Тада програм штампа још текста и такође ваше име. Ово је пример улаза. Програм достиже одређену тачку и онда чека да корисник унесе неки податак који ће програм касније користити.

Наравно, добијање информација од корисника је бескорисно ако програм нема где да искористи ту информацију и овде променљиве долазе. У претходном програму, user_reply је променљива. Променљиве су као кутија која чува неке делове података. Овде је програм који приказује примере променљивих:

a = 123.4
b23 = 'Спам'
име = "Бил"
b = 432
c = a + b
print "a + b је", c
print "Име је", име
print "Сортирани делови, После поноћи или", b23

И овде је излаз:

a + b је 555.4
Име је Бил
Сортирани делови, После поноћи или

Променљиве у програму изнад су a, b23, име, b, и c. Променљива у Пајтону може сачувати било који тип податка - у овом примеру смо сачували неке ниозове (нпр. "Бил") и неке бројеве (нпр. 432).

Запамтите разлику између низова и назива променљивих. Низови су означени наводницима, што говори рачунару "не покушавај да разумеш, само узми овај текст онакав какав је":

print "име"

Ово ће штампати у тексту:

име

овако. Имена променљивих су написана без икаквих наводника и упућује рачунар "узми вредност коју сам претходно унео под овим именом":

print име

што ће штампати (пре претходног примера):

Бил

Додељивање

уреди

Добро, ове кутије смо назвали променљивим и такође податке који улазе у променљиве. Рачунар ће видети линију као име = "Бил" и чита је као "Убаци низ Бил у кутију (или променљиву) име". Касније он види изјаву c = a + b и чита је као "убаци збир a + b или 123.4 + 432 што је једнако 555.4 у c". Десна страна ове изјаве (a + b) је једнака и резултат се налази у променљивој на левој страни (c). Ово се зове додељивање, и не би требало да вас збуни задати знак једнакости овде(=) са "једнакости" у математици (то је ово == што ћемо користити касније).

Овде је још један пример коришћења променљивих:

a = 1
print a
a = a + 1
print a
a = a * 2
print a

И наравно ово је излаз:

1
2
4

Чак и ако је иста променљива са обе стране рачунар и даље чита као "Прво пронађи податак за складиштење а затим где тај податак иде".

Још један програм пре него што завршим ово поглавље:

број = input("Унеси број: ")
текст = raw_input("Унеси низ: ")
print "број =", број
print "број је a", type(број)
print "број * 2 =", број * 2
print "текст =", текст
print "текст је a", type(текст)
print "текст * 2 =", текст * 2

Излаз који сам добио:

Унеси број: 12.34
Унеси низ: Здраво
број = 12.34
број је <type 'float'>
број * 2 = 24.68
текст = Здраво
текст is a <type 'str'>
текст * 2 = ЗдравоЗдраво

Приметите да је број добијен са input() док је текст добијен са raw_input(). raw_input() враћа низ док input() враћа број. Када желите да корисник укуца број користите input() али ако желите да унесе низ куцајте raw_input().

Друга половина програма користи type() што говори шта је променљива. Бројеви су типа int или float, што су скраћенице за цео број и разломак (углавном коришћен за децималне бројеве). Текстуални низови су типа str, скраћеница за niz. На целим бројевима и разломцима се могу радити математичке функције, на низовима не. Запамтите како када Пајтон множи број целим бројем очекивана ствар се догоди. Међутим када низ помножите целим бројем резултат је помножен и створена је копија низа (нпр., текст * 2 = ЗдравоЗдраво).

Операције са низовима раде другачије ствари него операције са бројевима. Ево неких интерактивних примера да покажемо нешто више.

>>> "Ово" + " " + "је" + " додато."
'Ово је додато.'
>>> "Ха, " * 5
'Ха, Ха, Ха, Ха, Ха, '
>>> "Ха, " * 5 + "ха!"
'Ха, Ха, Ха, Ха, Ха, ха!'
>>> 

Ово би исто могло да се одради као програм:

print "Ово" + " " + "је" + " додато."
print "Ха, " * 5
print "Ха, " * 5 + "ха!"

Овде је листа неких операција над низовима:

Операција Ознака Пример
Понављање * "и" * 5 == "иииии"
Уланчавање + "Здраво, " + "свете!" == "Здраво,свете!"

Примери

уреди

Мерење_времена.py

# Овај програм рачуна проблеме мерења и удаљености
print "Унесите меру и удаљеност"
мера = input("Мера: ")
удаљеност = input("Удаљеност: ")
print "Време:", (удаљеност / мера)

Примери низа:

Унесите меру и удаљеност
Мера: 5
Удаљеност: 10
Време: 2
Унесите меру и удаљеност
Мера: 3.52
Удаљеност: 45.6
Време: 12.9545454545

Обим.py

# Овај програм рачуна обим и површину правоугаоника
print "Израчунај информације о правоугаонику"
дужина = input("Дужина: ")
ширина = input("Ширина: ")
print "Површина", дужина * ширина
print "Обим", 2 * дужина + 2 * ширина

Примери низа:

Израчунај информације о правоугаонику
Дужина: 4
Ширина: 3
Површина 12
Обим 14
Израчунај информације о правоугаонику
Дужина: 2.53
Ширина: 5.2
Површина 13.156
Обим 15.46

температура.py

# Пребацује из фаренхајта у целзијус
темп = input("Температура у фаренхајтима: ")
print (темп - 32.0) * 5.0 / 9.0

Примери низа:

Температура у фаренхајтима: 32
0.0
Температура у фаренхајтима: -40
-40.0
Температура у фаренхајтима: 212
100.0
Температура у фаренхајтима: 98.6
37.0

Вежбе

уреди
  1. Напишите програм који узима 2 низа променљивих и два броја променљивих од корисника, уланчати (повезати их без размака) и приказати низове, затим помножити два броја у новом реду.

Откривена је петља шаблона: Шаблон:Решење

Шаблон:Водич за Пајтон 2.6/Navigation