# coding=utf-8 id = 180 name = 'Pretvarjanje iz Fahrenheitov v Celzije' slug = 'Pretvarjanje iz Fahrenheitov v Celzije' description = '''\
Napiši program, ki mu uporabnik vpiše temperaturo v Fahrenheitovih stopinjah, program pa jo izpiše v Celzijevih. Med temperaturama pretvarjamo po formuli C = 5/9 (F – 32).
''' general_exception = { 'error_head' : '''\Napaka:
[%=message%]''', 'general': '''\
Pri razumevanju napake sta pomembni dve vrstici. V predzadnji vrstici je napisana lokacija napake (line ...), v zadnji vrstici pa izvemo za kakšno napako gre.
''', 'name_error' : '''\Napaka NameError
pomeni, da uporabljate nedefinirano vrednost:
ali vrednost spremenljivke ni določena ali uporabljate funkcijo, ki ni
uvožena.
TypeError napaka pomeni, da želite izvesti operacijo na nedovoljenih tipih. Npr., če želite sešteti niz in število ali klicati funkcijo, čeprav tisto ni funkcija, itd.
''', } hint = { 'plan': '''\Program izvedemo v treh korakih:
Uporabnika lahko nekaj vprašamo s funkcijo input
. Funkcija
input
sprejme kot argument niz (angl. string), ki se
prikaže uporabniku kot vprašanje in vrne niz, ki ga je uporabnik napisal. Nize
zapisujemo v narekovaje (lahko so enojni ali dvojni). Npr., naslednja
vrstica:
ime = input("Kako ti je ime?")
pokliče funkcijo input
, ki povpraša uporabnika po imenu in si
shrani uporabnikov odgovor v spremenljivko ime
.
Računanje: če v Pythonu napišemo izraz, se bo ta izračunal. Npr., če napišemo
3 + 6
bo Python seštel vrednosti 3 in 6 in ... rezultat pozabil. Kadar pa želimo rezultat shraniti, za to uporabimo prireditveni stavek, kjer na levo napišemo ime spremenljivke, na desno pa izraz:
c = 2 * a * (3 + b)
Kot vidite, izraz lahko uporablja tudi spremenljivke.
''', 'printing': '''\V Pythonu izpisujemo s funkcijo print
. Če želimo izpisati več
elementov, jih ločimo z vejico. Recimo, da imamo spremenljivko
ime
, ki vsebuje naše ime, potem lahko napišemo:
print("Ime mi je", ime, ".")''', 'name_error' : [ general_exception['error_head'], general_exception['general'], general_exception['name_error'], '''\
Verjetno uporabljate spremenljivko, ki nima vrednosti. Ali v izrazu za izračun uporabljate napačno spremenljivko? Ali pri izpisu morda poskušate izpisati napačno spremenljivko?
''' ], 'unsupported_operand' : [ general_exception['error_head'], general_exception['general'], general_exception['type_error'], '''\Verjetni razlog: funkcija input
vrača vrednost tipa niz, ki jo
moramo najprej pretvoriti v tip float
, če želimo z njo
računati:
v = float(input(" ...
Zakaj je tako, boste razumeli kasneje, zaenkrat je dovolj, da to poznate.
Na primeru pretvarjanja temperatur:
fniz = input("Temperatura [F]: ") f = float(fniz)
ali krajše, združeno v eno vrstico:
f = float(input("Temperatura [F]: "))
Funkcijo float
lahko kličemo le, če je v nizu zapisano število,
npr. "10". Če imamo v nizu tudi kakšno črko, bo Python javil napako.
V programu poskušate uporabiti število kot funkcijo, a to ne gre. Verjetni razlog: Ali ste v izrazu pozabili na znak *. Pri pretvorbi temperatur bi namesto:
C = 5/9(F – 32)
morali napisati:
C = 5/9 * (F – 32).
Python ne zna izpuščati znaka za množenje, kot to delamo pri matematiki.
''' ], }