# 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:
', 'general': '''Pri razumevanju napake sta pomembni dve vrstici. V drugi vrstici je specificirana lokacija napake (line XY), v zadnji vrstici pa izvemo za kakšno napako gre.
''', 'name_error' : '''Napaka tipa NameError označuje, da uporabljate nedefinirano vrednost:
math
:
from math import *''', 'type_error': '''
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. .
''', 'syntax_error': '''Napaka v sintaksi programa. Napisali ste nekaj, kar Python ne zna prebrati.
''', 'indentation_error': '''Pomeni, da imate napačno število presledkov na začetku vrstice. Poskrbite, da so vse vrstice pravilno poravnane.
''' } 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 + 6bo 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 tipfloat
, č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
'''], 'not_callable' : [general_exception['error_head'], general_exception['general'], general_exception['type_error'], '''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.
'''], 'syntax_error' : [general_exception['error_head'], general_exception['general'], general_exception['type_error'], '''Ste mogoče pozabili na kakšen zaklepaj?
'''], 'indentation_error' : [general_exception['error_head'], general_exception['general'], general_exception['indentation_error']], }