Ispitni zadaci

Podsetnik

1. 

Napišite program koji koristi for petlju da štampa brojeve 8, 11, 14, 17, 20, …, 83, 86, 89. 
Takodje štampati i njihov zbir.

2. 

Napišite program koji koristi for petlju da štampa brojeve 100, 98, 96, …, 4, 2. 
Takodje štampati koliko među njima ima onih koji su deljivi sa 3.

3.

Napišite program koji koristi četiri for petlje da štampa sledeči niz slova: AAAAAAAAAABBBBBBBCDCDCDCDEFFFFFFG

4. 

Generišite jedan slučajan broj između 1 i 10. Tražite od korisnika da pogodi broj i štampajte 
odgovarajuću poruku ako je pogodio broj ili ako nije.

5. 

Prodavnica naplaćuje $12 po jedinici proizvoda ako kupujete manje od deset proizvoda. 
Ako kupujete između 10 i 99 proizvoda, cena je $10 po proizvodu. Ako kupujete 100 ili 
više od 100 proizvoda cena je $7 po proizvodu. Napišite program koji traži od korisnika 
da unese koliko proizvoda kupuje i štampa ukupnu cenu za tu kupovinu.

6. 

Godina je prestupna ako je deljiva sa 4, izuzev godina koje su deljive sa 100 a nisu 
deljive sa 400. Napisati program koji traži od korisnika da unese godinu i štampa da li je ona prestupna ili ne.

7. 

Napišite program koji traži od korisnika da unese neki broj pa štampa "DELJIV" ako je broj deljiv sa brojem 2 ili brojem 5.

8. 

Napišite program koji koristi for petlju da štampa slova iz unetog stringa, jedno slovo u liniji, 
a ispred slova redni broj slova u unetom stringu.

9. 
Napišite program koji traži od korisnika da unese lozinku. Ako unese ispravnu lozinku program mu 
saopštava da se ulogovao u sistem. U suprotnom program traži da ponovo unese lozinu. Ako  ni u 
ponovljenom unosu korisnik ne unese ispravnu lozinku program mu saopštava da je izbačen iz sistema.

10. 

Napišite program koji traži od korisnika da unese jedan string i jedno slovo. Program treba da 
štampa indeks prvog pojavljivanja unetog slova ili poruku da string ne sadrži to slovo.

11. 

Napišite program kojim se generiše slučajan broj x, između 1 i 50, i slučajan broj y između 2 i 5, 
pa izračunava i štampa  x*y.

12. 

Napišite program koji traži od korisnika da unese broj sekundi a onda štampa koliko je to sati, 
minuta i sekundi. Na primer 4000 sekundi je 1 sat, 6 minuta i 40 seconds.

13. 

Napišite program kojim se izračunava i štampa faktorijel nekog unetog broja. Faktorijel, n!, 
nekog broja n je proizvod svih celih brojava između 1 i n, uključijući n. Na primer, 5!=1·2·3·4·5=120.

14. 
Napišite program koji izračunava sumu 1-2+3-4+…+1999-2000.


15. 

Napišite program koji traži od korisnika da unese neki broj, a zatim štampa sumu svih delioca toga broja. 
Suma svih delioca nekog broja je važna funkcija u teoriji brojeva.

16. 

Napišite program koji zamenjuje vrednosti tri varijable x, y, i z, tako da x dobije vrednost y, 
y dobije vrednost z, a z dobije vrednost x.

17. 

Tražite od korisnika da unese 10 rezultata nekog testa. Napišite program koji radi sledeće:

	* Štampa najveći i najmanji rezultat.
	* Štampa prosečan rezultat.

18. 

Napišite program koji traži od korisnika da unese string. Program zatim treba da štampa sledeće:

	* Ukupan broj znakova u stringu
	* Prvi znak u stringu
	* Zadnja tri znaka iz stringa
	* Ceo string unazad ( palindrom )
	* String sa svim velikim slovima
	* String u kome je svako a zamenjeno sa e

19. 

Jedan jednostavan način da se proceni broj reči u stringu je da se prebroji broj blanko 
znakova u stringu. Napišite program koji traži od korisnika da unese tekst, a onda štampa broj reči u tom tekstu.


20. 

Napišite program koji traži od korisnika da unese reč pa odredi da li je uneta reč palindrom ili ne. 
Palindrom je reč koja se čita jednako sleva na desno kao s desna na levo ( na primer: ana voli milovana).

21. 

Napišite program koji traži od korisnika da unesu svoje ime i prezime malim slovima, 
pa kapitalizuje prva slova svakog dela imena.


22. 
Napišite program koji traži od korisnika da unese jednu reč. Presložite slova iz reči tako da 
budu alfabetski uređena (sortirana) i štampajte tako uređenu teč. 
Na primer, abracadabra treba da postane aaaaabbcdrr.

23. 

Tražite od korisnika da unese jedan ceo broj, pa proverite i štampajte da li je taj broj 
prost ili ne (broj je prost ako nije deljiv ni sa jednim brojem osim sa brojem 1 i sa samim sobom).

24. 

Napišite program koji traži od korisnika da unese naziv Python varijable, i štampa „Ispravan naziv varijable“ 
ako je naziv varijable u skladu sa pravilima, a štampa „Neispravan naziv varijable“ ako naziv nije u skladu 
sa pravilima za naziv Python varijable.

25. 

Fibonačijevi brojevi su 1, 1, 2, 3, 5, 8, 13 ... (svaki sledeći je zbir prethodna dva broja iz niza). 
Napisati program kojim se izračunava i stampa trideseti Fibonačijev broj.

26. 

Tribonačijevi brojevi su 0, 1, 1, 2, 4, 7, 13, ... (svaki sledeći je zbir prethodna 3 broja iz niza). 
Napisati program kojim se izračunava i stampa trideseti Tribonačijev broj.

27. 

Pronaći i štampati sve brojeve sa kojima se mogu podeliti brojevi 360 i 80 bez ostatka. 

28. 

Pokazati da je 7**n − 1 deljivo sa 6 za svako  10<=n<=100.

29. 

Proveriti da li jednacina 6x + 15y + 20z = 1 ima rešenje ako x,y,z mogu imati celobrojne vrednosti 
iz skupa {-100,-99,...-1,0, 1,...99,100}.

30. 

Prodavac radi u radnji u kojoj je cena svakog artika ceo broj mani od 100. Napisite program koji 
traži od korisnika da unese cenu artikla, pa izracunava i stampa kako bi se ta cena mogla platiti 
novcanicama od 1, 2, 5, 10, 20 dinara tako da broj novčanica bude minimalan.


31. 

U nekoj školi email adrese studenata se završavaju sa @student.college.edu, dok se adrese profesora 
završavaju sa @prof.college.edu. Napišite program koji najpre traži od korisnika koliko će email adresa 
uneti, a zatim korisnik unosi te adrese. Nakon što su sve adrese unete program treba da štampa poruku 
da li su sve adrese bile studentske ili je bilo i nekih profesorskih adresa.

32. 

Tražite od korisnika da unese neki tekst, a onda izračunajte koliki je procenat pojavljivanja svakog 
od samoglasnika a, o , u, i , e  u tom tekstu.

33. 

Napišite program koji traži od korisnika da unese listu celih brojeva. 
Program treba da uradi sledeće:

  * Štampa broj petica u listi.
  * Briše prvi i poslednji podatak iz liste, sortira preostale podatke i štampa rezultat.
  * Štampa koliko celih brojeva u listi je manje od 5. 

34. 

Napišite program koji traži od korisnika da unese listu celih brojeva. 
Program treba da uradi sledeće:

  * Štampa ukupan broj podataka u listi.
  * Štampa poslednji podatak u listi
  * Štampa listu obrnutim redosledom.
  * Štampa Da ako lista sadrži 5 na Ne ako ne sadrži. 

35. 

Napišite program koji generiše listu od 20 slučajnih brojeva između 1 i 100, pa:

  * Štampa listu.
  * Štampa srednju vrednost svih elemenata iz liste.
  * Štampa najveću i najmanju vrednost iz liste. 

36. 

Napišite program koji generiše listu od 60 slučajnih brojeva između 1 i 100, pa:

  * Štampa drugu najmanju i drugu najveću vrednost iz liste.
  * Štampa koliko ima parnih brojeva u listi. 

37. 

Tražite od korisnika da unese jednu rečenicu pa štampajte svaku treću reč iz te rečenice. 

38. 

Tražite od korisnika da unese listu stringova. Kreirajte novu listu koja 
sadrži iste stringove ali bez prvog slova. 

39.

Počnite sa listom [8,9,10]. Uradite sledeće:

  * Sortirajte listu
  * Duplirajte listu
  * Ubacite 25 na indeksu 3 

40.

Počnite sa listom [8,9,10]. Uradite sledeće:

  * Postavite drugi element (indeks 1) na 17
  * Dodajte 4, 5, i 6 na kraj liste
  * Brišite prvi element liste


Na kraju treba da dobijete listu [4,5,6,25,10,17,4,5,6,10,17]. 

41. 

Kreirajte sledeće liste korišćenjem petlji.

  * Listu koj se sastoji od brojeva 0 do 49
  * Listu koja sadrži kvdrate brojeva od 1 do 50.
  * Listu [‘a’, ‘bb’, ‘ccc’, ‘dddd’, … ] koja se završava sa 26 kopija slova z. 

42. 

Neka je L lista stringova. Napišite naredbu za sastavljanje liste (list-comprehensions) 
koja kreira novu listu od liste L na sledeće načine:

  * Listu koja sadrži stringove s iz L sa uklonjenim prvim slovom
  * Listu koja sadrži dužine stringova iz L
  * Listu koja se sastoji od onih stringova iz L koji su dugački najmanje 3 znaka 

43.

Iskoristite list-comprehensions da napravite donju listu, koja se sastoji od jedinica 
razdvojenih rastućim brojem nula. Poslednje dve jedinice treba da budu razdvojene sa deset nula:

[1,1,0,1,0,0,1,0,0,0,1,0,0,0,0,1,....] 

44. 

Napišite program koji nalazi sve brojeve od 1 do 1000 koji su deljivi sa 7 a završavaju se sa 6. 

45. 

Napišite program kojim se kreira lista [1, 11, 111, 1111, ..., 111...1], gde poslednji 
element liste ima 100 jedinica. 

46. 

Napišite program koji uzima dve liste L i M, iste dužine, dodaje njihove elemente da kreira
novu listu N čiji su elementi sume odgovarajućih elemenata iz L i M. Na primer, 
ako je L=[3,1,4] i M=[1,5,9], odna će N biti [4,6,13]. 

47. 

Napišite program koji štampa brojeve 1 2 4 8 16 ... 1024 ( svaki sledeći je duplo veći od predhodnog). 

48. 

Napišite program koji koristi while petlju da štampa slova iz stringa, jedno slovo u liniji. 

49. 

Napišite program koji traži od korisnika da unese niz reči razdvojenih zapetama. 
Program zatim treba da štmapa ove reči na isti način (razdvojene zapetama) ali sada 
reči treba da budu sortirane alfabetski.

Na primer ako korisnik unese: without,hello,bag,world
Program treba da štampa: bag,hello,without,world 

50. 

Napišite program koji traži od korisnika da unese rečenicu. Program treba da štampa reči 
iz ove rečenice nakon što odbaci duple reči i sortira reči alfabetski.

Na primer ako je korisnik uneo: hello world and practice makes perfect and hello world again
Program treba da štampa: again and hello makes perfect practice world

Pomoć: koristite skupove za eliminisanje duplih reči 

51. 

Napišite program koji traži od korisnika da unese lozinku (password). Ako unese ispravnu 
lozinku program mu saopštava da se ulogovao u sistem. U suprotnom program traži da ponovo 
unese lozinu. Korisnik ima samo pet pokušaja za unos lozinke, a posle toga mu program 
saopštava da je izbačen iz sistema. 

52.

Napišite program koji omogućava korisniku da unese unapred nepoznat broj rezultata na nekom 
kolokvijumu (koristite while petlju). Korisnik signalizira da je završio kada unese negativan 
broj. Štampajte koliko je bilo desetki (sa brojem poena 90 ili više). 
Takođe štampajte i prosečan broj poena. 

53. 

Napišite program koji traži od korisnika da unese jedan string i jedno slovo. 
Korišćenjem while petlje program treba da štampa indeks prvog pojavljivanja 
unetog slova ili poruku da string ne sadrži to slovo. 

54. 

Napišite program koji uzastopno traži od korisnika da unese proizvod i njegovu cenu. 
Smestite sve unete vrednosti u rečnik čiji je ključ naziv proizvoda a vrednost cena proizvoda. 
Kada korisnik završi sa unosom podataka za rečnik, dajte mu mogućnost da uzastopno 
unosi ime proizvoda pa štampajte njegovu cenu ili poruku da proizvod nije u rečniku. 

55. 

Napišite program kojim se nalazi i štampa unija i presek sledećih skupova:

A = {1, 2, 3, 4, 5}
B = {4, 5, 6, 7, 8} 

56. 

Dat vam je fajl pod nazivom ocene.txt, u kojem svaka linija sadrži prezime,
ime i tri rezlultata kolokvijuma za svakog studenta, kao na primer:

    Jankovic Janko 83 77 54
    Mijatovic Ana 86 69 90

Napišite program kojim se određuje koliko je studenata položilo sva tri kolokvijuma 
(kolokvijum je položen ako je broj poena veći ili jednak 60). 

57. 

Napišite funkciju pod nazivom pravougaonik koja prihvata dva cela broja m i n kao 
argumente i štampa m × n boks koji se sastoji od zvezdica. Dole je prikazan izlaz 
funkcije pravougaonik(2,4):

****
**** 

58. 

Napišite funkciju suma_cifara koja prihvata jedan ceo broj num i vraća sumu njegovih cifara. 

59. 

Napišite funkciju koja izračunava kub nekog broja. 

60. 

Napišite funkciju koja prihvata ceo broj i vraća True ako je broj paran, a False ako nije. 

61. 

Napišite funkciju koja prihvata dva stringa pa vraća onaj string koji je duži. 

62.

Napišite funkciju koja prihvata dva broja u obliku stringa i vraća njihovu sumu, takođe u 
obliku stringa. 

63.

Napisati klasu PasswordManager. Klasa treba da sadrži listu old_passwords u kojoj se 
nalaze korisnikovi stari pasvordi. Poslednji pasvord u toj listi je korisnikov tekući pasvord. 
Treba da postoji metoda get_password koja vraća tekući pasvord i metoda set_password koja 
postavlja novi pasvord. Metoda set_password treba da menja tekući pasvord samo ako je novi 
pasvord različit od svih prethodnih pasvorda koje je korisnik do tada korsitio. Na kraju 
kreirajte i metodu is_correct koja prihvata string i vraća True ili False u zavisnosti od 
toga da li je string jednak tekućem pasvordu ili ne. 

64. 

Napišite klasu Investicija sa varijablama glavnica i kamata. Konstruktor klase treba da 
postavi vrednosti ovih varijabli. Klasa treba da ima metodu pod nazivom vrednost_posle koja 
vraća vrednost investicije posle n godina. Formula za to je g*(1+k)**n, gde je g glavnica, 
a k kamata. Takođe treba da postoji i specijalna metoda __str__ takva da štampanje objekta 
rezultira sledećim izgledom:

Glavnica - 1000.00, Kamatna stopa - 5.12%