You are on page 1of 21

Prirodoslovno-matematiki fakultet, Split

Funkcije

Python stringovi
1. Napiite program koji uitava n rijei i ispisuje duljinu najdulje rijei. ispisati koja je to rije
n = eval(input("Koliko ima rijeci: ")) d = 0 for i in range(n): rijec = input("Rijec: ") if len(rijec)>d: d = len(rijec) dulja = rijec print("Najdulja rijec: ", dulja, "duljine:", d)

Python stringovi
2. Napiite program koji uitava n rijei i od svake ispisuje prva tri slova s lijeva.

n = eval(input("Koliko ima rijeci: ")) for i in range(n): rijec = input("Rijec: ") print("3 slova s lijeva:", rijec[:3]) d = len(rijec) print("3 slova s desna:", rijec[d-3:])

Python stringovi
3. Napiite program koji uitava n rijei i svakoj nakon treeg znaka upie abc

n = int( input("Koliko ima rijeci: ") ) for i in range(n): r = input("Unesi rijec: ") nova = r[0:3] + "abc" + r[3:] print("Nova rijec: ", nova)

Python stringovi
.find() vraa poziciju prvog pojavljivanja nekog podstringa u stringu string.find(podstring, pocetak, kraj) Napiite program koji uitava rije i javlja mjesto na kojem se pojavi ab
r = input("Unesi rijec: ") poz = r.find("ab") print("Poz: ", poz)
Moemo izostaviti kraj, ako elimo da trai do kraja. Zatim moemo izostaviti i poetak, ako elimo da trai od zadanog poetka: 0

Python stringovi
.upper() - pretvara slova u stringu u velika tiskana slova string.upper()

.lower() - pretvara slova u stringu u mala tiskana slova string.lower()


Napiite program koji uitava rije i ispisuje tu rije velikim i malim slovima

r = input("Unesi rijec: ") print(Velika slova: ", r.upper()) print(Mala slova: ", r.lower())

Python
chr(65) A

Funkcije pretvorbi

chr(n) prevodi ASCII kod u odgovarajui znak

ord(x) pretvara uneeni znak u ASCII vrijednost


ord(B) 66

Funkcije pretvorbi
int(x) pretvara string u cijeli broj (ako se sastoji od znamenki) str(x) pretvara brojnu vrijednost u string vrijednost

Aritmetike funkcije
round(broj,decimale)
zaokruuje broj na definirani broj decimala

round(broj)
zaokruuje broj (bez decimala) round(3.9) 4

int(broj)
pretvara u cijeli broj tako da se odbaci decimalni dio int(3.9) 3

Primjer brojevi
Napisati program koji e uitavati cijeli broj. Ispitati da li je broj etveroznamenkast i da li mu je suma prve i tree znamenka jednaka 8.
cb = int(input("Cijeli broj: ")) if 999<cb<10000: print("je cetverozn.") pz = int( cb / 1000 ) tz = int(cb / 10) % 10 if tz+pz==8: print("suma je 8") else: print("Nije cetveroznam.") Za izdvajanje znamenki s lijeva, koristimo operator %,

a za znamenke s desna: cjelobrojno dijeljenje s potencijama broja 10 (ovisno o kojoj znamenci se radi)

Zadaci
1. Za dani string ispisati sve podstringove duljina: 2, 3 i 4 2. Za dano slovo i dani string, odrediti sve pozicije na kojima se u stringu pojavljuje slovo 3. U dani string nakon svakog samoglasnika dodati 2 znaka ovisno o samoglasniku (pa/pe/pi/po/pu)
zaista => zapaipistapa moramo razgovarati => moporapamopo rapazgoporapavapatipi

Zadaci
4. Napravi program koji trai da se unese ime i prezime u jednu string varijablu, te ispie svako slovo iz string varijable jedno ispod drugog. 5. Upisati reenicu, pa ispisati broj pojavljivanja samoglasnika, ispisati je naopako. 6. Rastaviti prirodan broj na proste faktore.

7. Ispisati sumu svih dvoznamenkastih prostih brojeva.

Zadaci
8. Za broj kaemo da je savren ako je jednak sumi svojih djelitelja (osim samog sebe) Npr. 6 = 1+2+3 Ispitati je li dani broj savren Odrediti sve savrene brojeve izmeu 1 i 500 9. Odrediti sve brojeve u rasponu od 1 do 100 koji su istovremeno djeljivi sa nekoliko brojeva. Npr. 2,3,5

Primjer
Napisati program koji ce od korisnika traiti unos prirodnog broja n. Ponavljati unos dok se ne unese n>0. Ispisati poruku je li paran ili neparan. Program zatim pita korisnika da li eli ponoviti unos. Samo ako korisnik unese D ili d, ponavlja se unos.

*** Pseudokod *** 1. ponavljaj dok se unosi "D" ili "d" 1.1 ponavljaj dok ne bude n>0 1.2.1 ucitaj broj n 1.2 ako je broj paran onda ispii poruku "Broj je paran" a u protivnom ispii poruku "Broj je neparan" 2. kraj

Napomena: broj je paran ako je ostatak kod dijeljenja s 2=0

Algoritmi pretvorba dekadskog broja u binarni


Napravite dijagram toka i program za pretvorbu dekadskog broja u binarni broj.

poetak

br

cijeli = br

br

cijeli

ost
ost = cijeli MOD 2

26 26 13 6 3 1 0

0 1 0 1 1

cijeli = cijeli \ 2

NE

ost

cijeli=0

kraj

Algoritmi

poetak

brojenje znamenki
br

Napravite dijagram toka i program za brojenje znamenki unesenog broja (npr. za uneseno 324 daje 3).

n=0 cijeli = br

br

cijeli 324 32.4 3.24 0.324

324 0 1 2 3

U ovom algoritmu se koristi dijeljenje s decimalnim dijelom, te se dijeli dok broj ne postane manji od 1.

cijeli = cijeli / 10 n=n+1

NE

Broj koraka je broj znamenki.

cijeli < 1

kraj

Algoritmi
Napravite dijagram toka i program za pretvaranje binarnog broja u dekadski.
Cjelobrojno dijeljenje (u Pythonu se pie / /): cijeli = cijeli // 10

pretvorba

U ovom algoritmu se koristi cjelobrojno dijeljenje (bez decimala), te se dijeli dok broj ne postane jednak nuli.

Broj koraka je broj znamenki.

Algoritmi
Napravite dijagram toka i program za pretvaranje binarnog broja u dekadski.

pretvorba

br 101

n cijeli 0 101 1 10 2 1

dek

3 0
0 10 1 0 0+1*20=1 1+0*21=1 1+1*22=5 0 1 1 0 2 1

Prirodoslovno-matematiki fakultet, Split

Korisnike funkcije
Potprogrami

Primjer
1. Napravi program koji e pomou funkcije (potprograma) za uneseni poetni lan niza, zadnji lan niza i razmak izmeu dva susjedna elementa niza ispisati sve elemente aritmetikog niza.
Na primjer za parametre 3,10,2 treba ispisati 3 5 7 9

def Racunaj(p,z,k): for i in range(p,z+1,k): print(i)


p,z,k = eval(input(Prvi,zadnji,korak: ")) Racunaj(p,z,k)

Primjer
2. Napravi program koji pomou funkcije ispisuje broj pojavljivanja slova A u danom stringu (string se prenosi kao parametar)
def Broji(s): d = len(s) br = 0 for i in range(d): if s[i]=="A" or s[i]=="a": br = br+1 return br

#glavni program tekst = input("Unesi string: ") print("Broj slova A:", Broji(tekst))

You might also like