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
|
 |