Zanimljivi zadatci s listama


4.4.2023.

B. 3. 2 rješava problem primjenjujući složene tipove podataka definirane zadanim programskim jezikom.3. 2 rješava problem primjenjujući složene tipove podataka definirane zadanim programskim jezikom.

1. Ana i njezina prijateljica žele planirati putovanje na kojem će posjetiti nekoliko gradova. Trebaju  kreirati listu gradova koje želi posjetiti. 

cities = ['London', 'Rim', 'Pariz', 'Beč', 'Amsterdam']

a) Iz te liste žele ovakav ispis:

Gradovi koje Ana želi posjetiti  su:

- London

- Rim

- Pariz

- Beč

- Amsterdam

Rješenje:

cities = ['London', 'Rim', 'Pariz', 'Beč', 'Amsterdam']
print('Gradovi koje Ana želi posjetiti su:')for city in cities:
print('- ' + city)

1. b) Program omogućuje unos još jednog grada te ispisuje konačnu listu.

cities = ['London', 'Rim', 'Pariz', 'Beč', 'Amsterdam']
print('Gradovi koje Ana želi posjetiti  su:')
for city in cities:
    print('- ' + city)
response = input('Želiš li dodati još jedan grad? ')
if response.lower() == 'da':
    new_city = input('Unesi ime grada: ')
    cities.append(new_city) 
print('Konačna lista gradova koje žele posjetiti:')
for city in cities:
    print('- ' + city)

2.  Definiramo listu gradova i njihove udaljenosti od Zagreba..

grad = ['Zagreb', 'Split', 'Rijeka', 'Osijek', 'Zadar', 'Šibenik', 'Dubrovnik']
udaljenost = [0, 410, 155, 290, 270, 330, 570]
z = list(zip(grad, udaljenost))
print(z)
[('Zagreb', 0), ('Split', 410), ('Rijeka', 155), ('Osijek', 290), ('Zadar', 270), ('Šibenik', 330), ('Dubrovnik', 570)]

Ispisati grad koji je najbliži Zagrebu.

ndg = grad[0] #najdalji grad
ndu = udaljenost[0] #najdalja udaljenost
for g, u in zip(grad, udaljenost):
    if u > ndu:
        ndg = g
        ndu = u
print('Najdalji grad od Zagreba je', ndg, 'udaljen', ndu, 'km.')

Ispisati grad koji je naviše udaljen od Zagreba

nbg = grad[1] #najbliži grad
nbu = udaljenost[1] #najbliza udaljenost
for g, u in zip(grad, udaljenost):
    if g != 'Zagreb' and u < nbu:
        nbg = g
        nbu = u
print('Najbliži grad od Zagreba je', nbg, 'udaljen', nbu, 'km.')

Sortirani po udaljenosti 

km = udaljenost[:]
gr = grad[:]
d = len(km)
for i in range(d):
    for j in range(i+1, d):
        if km[i] > km[j]:
            temp = km[i]
            km[i] = km[j]
            km[j] = temp
            gr[i], gr[j] = gr[j], gr[i]

for g, u in zip(gr, km):
    print(f'{g}: {u}')

Ispis:

Zagreb: 0
Rijeka: 155
Zadar: 270
Osijek: 290
Šibenik: 330
Split: 410
Dubrovnik: 570

4.4.2023.

Dnevne obavijesti


Križanićeva 4, 10000 Zagreb, Hrvatska

01/46-11-834