Pređi na sadržaj

Vodič za Pajton 2.6/Rešenja

Izvor: Викикњиге

Iskaz ako

[uredi]

Kao i uvek verujem da bi svako poglavlje trebalo da počne sa zagrevanjem vežbama kucanja, pa je ovde kratak program za izračunavanje apsolutne vrednosti broja:

н = input("Број? ")
if н < 0:
   print "Апсолутна вредност", н, "је", -н
else:
   print "Апсолутна вредност ", н, "је", н

Ovde je izlaz dva puta koji vode ovaj program:

Број? -34
Апсолутна вредност -34 is 34
Број? 1
Апсолутна вредност 1 is 1

Šta računar radi kada vidi ovaj deo koda? Prvo pita korisnika za broj sa izjavom "н = input("Број? ")". Zatim čita liniju "if н < 0:". Ako je н manje od nule Pajton pokreće liniju "print "Апсолутна вредност", н, "је", -н". U suprotnom pokreće liniju "print "Апсолутна вредност", н, "је", н".

Formalnije Pajton gleda da li je izraz н < 0 taćan ili netačan. if izjava je nakon toga uvučena blokom naredbi koje se pokreću kada je izraz tačan. Izborom posle if naredbe je else naredba i drugi uvučeni blok naredbi. Ovaj drugi blok naredbi je pokreće ako je netačno.

Ovde su brojevi različitih testova koje izrazi mogu imati. Ovde je tabela svih njih:

operator funkcija
< manje od
<= manje ili jednako od
> veće od
>= veće ili jednako od
== jednako
!= nije jednako
<> drugi način kada nije jednako(staro, nije preporučeno)

Još jedna karakteristika if komande je elif naredba. Ona se zalaže za drugo ako i znači ako je originalna if naredba netačna ali elif deo je tačan, onda uradi elif deo. A ako nijedna if ili elif naredba nije tačna, onda uradi ono što je u else bloku. Ovde je primer:

a = 0
while a < 10:
    a = a + 1
    if a > 5:
        print a, ">", 5
    elif a <= 7:
        print a, "<=", 7
    else:
        print "Ниједан тест није истина"

i izlaz:

1 <= 7
2 <= 7
3 <= 7
4 <= 7
5 <= 7
6 > 5
7 > 5
8 > 5
9 > 5
10 > 5

Primetite sad da je elif a <= 7 jedino testiran kada if naredba nije istinita. Može biti više od jedne elif naredbe, dozvoljeno je da se radi više testova u jednoj if naredbi.

Primeri

[uredi]
# Овај програм демонстрира употребу == оператора
# коришћењем бројева
print 5 == 6
# коришћење променљивих
x = 5
y = 8
print x == y

I izlaz

False
False

Visoko_nisko.py

# Игра игре погађања вишег или нижег 

# Ово би требало да заправо бити нешто што је полу случајно као да су
# последње цифре тог времена, или нешто друго, али да ћете морати да
# чекате до следећег поглавља.  (Бонус, модификујте их да буду случајни
# после поглавља о Модулима)
modify it to be random 
број = 78
погодак = 0

while погодак != број: 
    погодак = input("Погоди број: ")
    if погодак > број:
        print "Превише високо"
    elif погодак < број:
        print "Превише ниско"

print "Добро је"

Primer:

Погоди број: 100
Превише високо
Погоди број: 50
Превише ниско
Погоди број: 75
Превише ниско
Погоди број: 87
Превише високо
Погоди број: 81
Превише високо
Погоди број: 78
Добро је

paran.py

# Тражи број.
# Штампа ако је паран или непаран

број = input("Кажи ми број: ")
if број % 2 == 0:
    print број, "је паран."
elif број % 2 == 1:
    print број, "је непаран."
else:
    print број, "чудан је."

Primeri:

Кажи ми број: 3
је непаран.
Кажи ми број: 2
2 је паран.
Кажи ми број: 3.14159
3.14159 је чудан.

srednjavrednost1.py

# тражи бројеве док се нула не укуца.
# Штампа средњу вредност низа.

бројање = 0
збир = 0.0
број = 1 # поставите нешто што неће одмах изаћи из while петље.

print "Притисните 0 да изађете из пeтље"

while број != 0:
    број = input("Унесите број: ")
    if број != 0:
        бројање = бројање + 1
        збир = збир + број

print "Средња вредност је:", збир / бројање

Primeri:

Притисните 0 да изађете из пeтље
Унесите број: 3
Унесите број: 5
Унесите број: 0
Средња вредност је: 4.0
Притисните 0 да изађете из пeтље
Унесите број: 1
Унесите број: 4
Унесите број: 3
Унесите број: 0
Средња вредност је: 2.66666666667

srednjavrednost2.py

# тражи бројеве док се сабрани бројеви поново не унесу.
# Штампа средњу вредност.

збир = 0.0

print "Овај програм ће узети неколико бројева и наћи њихов просек"
бројање = input("Од колико бројева бисте желели да нађете средњу вредност: ")
одговарајуће_бројање = 0

while одговарајуће_бројање < бројање:
    одговарајуће_бројање = одговарајуће_бројање + 1
    print "Број", одговарајуће_бројање
    број = input("Унеси број: ")
    збир = збир + број

print "Средња вредност је:", збир / бројање

Primeri:

Овај програм ће узети неколико бројева и наћи њихов просек
Од колико бројева бисте желели да нађете средњу вредност: 2
Број 1
Унеси број: 3
Број 2
Унеси број: 5
Средња вредност је: 4.0
Овај програм ће узети неколико бројева и наћи њихов просек
Од колико бројева бисте желели да нађете средњу вредност: 3
Број 1
Унеси број: 1
Број 2
Унеси број: 4
Број 3
Унеси број: 3
Средња вредност је: 2.66666666667

Vežbanja

[uredi]
  1. Prepravi viši ili niži program iz ovog dela da broji koliko puta je korisnik ukucao pogrešan broj. Ako je to više od tri, štampaj "To mora da je komplikovano." Zapamtite da program ne mora da prestane da pita za broj pre nego što je pogođen, samo mora ovo da štampa nakon što je broj pogođen.
  2. Napisati program koji traži dva broja. Ako je zbir brojeva veći od 100, štampaj "To je veliki broj."
  3. Napisati program koji traži ime korisnika, ako ukuca svoje ime štampati "To je lepo ime", ako ukucaju "Džon Klis" ili "Mišel Palin", recite im šta mislite o njima ;), u suprotnom recite im "Imate lepo ime."
Rešenja

Prepravi viši ili niži program iz ovog dela da broji koliko puta je korisnik ukucao pogrešan broj. Ako je to više od tri, štampaj "To mora da je komplikovano."

број = 42
погодак = 0
бројање = 0
while погодак != број:
    бројање = бројање + 1
    погодак = input('Погоди број: ')
    if погодак > број:
        print 'Превише високо'
    elif погодак < број:
        print 'Превише ниско'
    else:
        print 'Добро је'
        break
    if бројање > 2:
        print 'То мора да је компликовано.'
        break

Napisati program koji traži dva broja. Ako je zbir brojeva veći od 100, štampaj "To je veliki broj."

број1= input('Први број: ')
број2 = input('Други број: ')
if број1 + број2 > 100:
    print 'То је велики број.'

Napisati program koji traži ime korisnika, ako ukuca svoje ime štampati "To je lepo ime", ako ukucaju "Džon Klis" ili "Mišel Palin", recite im šta mislite o njima ;), u suprotnom recite im "Imate lepo ime."

име = raw_input('Ваше име: ')
if име == 'Ада':
    print 'То је лепо име.'
elif име == 'Џон Клис' или име == 'Мишел Палин':
    print '... неки смешан текст.'
else:
    print 'Имате лепо име.'

Šablon:Vodič za Pajton 2.6/Navigation