import server mod = server.problems.load_language('python', 'sl') 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).
''' no_input_call = ['''\Uporabi funkcijo input
in shrani rezultat.
Funkcija input
sprejme niz (angl. string), ki se
prikaže uporabniku kot vprašanje in vrača, kar je uporabnik napisal.
Primer:
ime = input("Kako ti je ime?")
pokliče funkcijo input
, ki povpraša uporabnika po imenu in
shrani uporabnikov odgovor v spremenljivko ime
.
Kot kaže, imaš temperaturo v Fahrenheitih že prebrano. Zdaj pa izračunaj temperaturo v Celzijevih stopinjah.
''', '''\Python izraze izračuna. Če napišemo
3 + 6 * 5
bo izračunal 3 + 6 * 5
.
Kadar želimo rezultat shraniti, za to uporabimo prireditveni stavek, kjer na levo napišemo ime spremenljivke, na desno pa izraz:
c = 2 * a * (3 + b)'''] printing = ['''\
V Pythonu izpisujemo s funkcijo print
.
ime
, ki vsebuje naše ime, potem:
print("Ime mi je", ime, ".")'''] plan = ['''\
Program izvedemo v treh korakih:
Verjetno uporabljaš spremenljivko, ki nima vrednosti. Ali v izrazu za izračun uporabljaš napačno spremenljivko? Ali pri izpisu morda poskušaš izpisati napačno spremenljivko?
''' ], 'unsupported_operand' : [ mod.general_msg['error_head'], mod.general_msg['general_exception'], mod.general_msg['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(" ...''', '''\
Na primeru pretvarjanja temperatur:
fniz = input("Temperatura [F]: ") f = float(fniz)''', '''\
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šaš uporabiti število kot funkcijo, a to ne gre.
''', '''\Verjetni razlog: Ali si v izrazu pozabil na znak *? Pri pretvorbi temperatur bi namesto:
C = 5/9(F – 32)
moral napisati:
C = 5/9 * (F – 32).
Python ne zna izpuščati znaka za množenje, kot to delamo pri matematiki.
''' ], 'final_hint' : [ '''\Odlično, program deluje!
Pri tej nalogi si se naučil:
input
,