26.1. Napisati aplikaciju za konvertovanje fizikalnih jedinica (dužine, mase, vremena, temperature i drugih) iz jednog sistema jedinica u drugi.

Opis rješenja: 1. Konverzija dužine: Podržava konverziju između metara (m), centimetara (cm), milimetara (mm), kilometara (km), inča (in), stopa (ft), jardi (yd) i milja (mi).
2. Konverzija mase: Podržava konverziju između kilograma (kg), grama (g), miligrama (mg), funti (lb) i unca (oz).
3. Konverzija vremena: Podržava konverziju između sekundi (s), minuta (min), sati (h), dana (d) i nedelja (wk).
4. Konverzija temperature: Podržava konverziju između Celzijusa (C), Farenhajta (F) i Kelvina (K).

Listing programa:

# 26011430
def konvertuj_duzinu(vrednost, iz_jedinice, u_jedinicu):
    konverzioni_faktori = {
        'm': 1,
        'cm': 0.01,
        'mm': 0.001,
        'km': 1000,
        'in': 0.0254,
        'ft': 0.3048,
        'yd': 0.9144,
        'mi': 1609.34
    }
    return vrednost * konverzioni_faktori[iz_jedinice] / konverzioni_faktori[u_jedinicu]

def konvertuj_masu(vrednost, iz_jedinice, u_jedinicu):
    konverzioni_faktori = {
        'kg': 1,
        'g': 0.001,
        'mg': 0.000001,
        'lb': 0.453592,
        'oz': 0.0283495
    }
    return vrednost * konverzioni_faktori[iz_jedinice] / konverzioni_faktori[u_jedinicu]

def konvertuj_vreme(vrednost, iz_jedinice, u_jedinicu):
    konverzioni_faktori = {
        's': 1,
        'min': 60,
        'h': 3600,
        'd': 86400,
        'wk': 604800
    }
    return vrednost * konverzioni_faktori[iz_jedinice] / konverzioni_faktori[u_jedinicu]

def konvertuj_temperaturu(vrednost, iz_jedinice, u_jedinicu):
    if iz_jedinice == 'C':
        if u_jedinicu == 'F':
            return vrednost * 9/5 + 32
        elif u_jedinicu == 'K':
            return vrednost + 273.15
        else:
            return vrednost
    elif iz_jedinice == 'F':
        if u_jedinicu == 'C':
            return (vrednost - 32) * 5/9
        elif u_jedinicu == 'K':
            return (vrednost - 32) * 5/9 + 273.15
        else:
            return vrednost
    elif iz_jedinice == 'K':
        if u_jedinicu == 'C':
            return vrednost - 273.15
        elif u_jedinicu == 'F':
            return (vrednost - 273.15) * 9/5 + 32
        else:
            return vrednost
    else:
        return vrednost

def main():
    print("Dobrodošli u aplikaciju za konvertovanje jedinica!")
    print("Dostupne kategorije: dužina, masa, vreme, temperatura")
    
    kategorija = input("Unesite kategoriju za konverziju: ").lower()
    
    if kategorija == 'dužina':
        jedinice = ['m', 'cm', 'mm', 'km', 'in', 'ft', 'yd', 'mi']
    elif kategorija == 'masa':
        jedinice = ['kg', 'g', 'mg', 'lb', 'oz']
    elif kategorija == 'vreme':
        jedinice = ['s', 'min', 'h', 'd', 'wk']
    elif kategorija == 'temperatura':
        jedinice = ['C', 'F', 'K']
    else:
        print("Nepoznata kategorija.")
        return
    
    print(f"Dostupne jedinice za {kategorija}: {', '.join(jedinice)}")
    
    vrednost = float(input("Unesite vrednost: "))
    iz_jedinice = input("Unesite jedinicu iz koje konvertujete: ")
    u_jedinicu = input("Unesite jedinicu u koju konvertujete: ")
    
    if kategorija == 'dužina':
        rezultat = konvertuj_duzinu(vrednost, iz_jedinice, u_jedinicu)
    elif kategorija == 'masa':
        rezultat = konvertuj_masu(vrednost, iz_jedinice, u_jedinicu)
    elif kategorija == 'vreme':
        rezultat = konvertuj_vreme(vrednost, iz_jedinice, u_jedinicu)
    elif kategorija == 'temperatura':
        rezultat = konvertuj_temperaturu(vrednost, iz_jedinice, u_jedinicu)
    
    print(f"{vrednost} {iz_jedinice} = {rezultat} {u_jedinicu}")

if __name__ == "__main__":
    main()


Ispis na ekranu:
Dobrodošli u aplikaciju za konvertovanje jedinica!
Dostupne kategorije: dužina, masa, vreme, temperatura
Unesite kategoriju za konverziju: dužina
Dostupne jedinice za dužina: m, cm, mm, km, in, ft, yd, mi
Unesite vrednost: 100
Unesite jedinicu iz koje konvertujete: cm
Unesite jedinicu u koju konvertujete: m
100.0 cm = 1.0 m

II izvršavanje
Dobrodošli u aplikaciju za konvertovanje jedinica!
Dostupne kategorije: dužina, masa, vreme, temperatura
Unesite kategoriju za konverziju: masa
Dostupne jedinice za masa: kg, g, mg, lb, oz
Unesite vrednost: 100
Unesite jedinicu iz koje konvertujete: kg
Unesite jedinicu u koju konvertujete: lb
100.0 kg = 220.46244201837774 lb

Daljnji rad:
Ovaj program je osnovni konverter jedinica. Možete ga proširiti sa dodatnim kategorijama i jedinicama, kao što su:
•	Zapremina (litri, galoni, kubni metri, itd.)
•	Brzina (metri u sekundi, kilometri na sat, milje na sat, itd.)
•	Energija (džuli, kalorije, kilovat-sati, itd.)

Ispis na ekranu:

Index