import server mod = server.problems.load_language('python', 'sl') name = 'Molska masa' slug = 'Molska masa' description = '''\

Molsko maso lahko izračunamo elementom in spojinam. V periodnem sistemu najdemo relativne atomske mase in iz njih izračunamo molske mase. Relativna atomska masa neona je Ar(Ne) = 20.2. Iz tega sledi, da je molska masa neona M(Ne) = 20.2 g/mol. Pri izračunu molske mase večatomnih molekul (elementov in spojin) moramo upoštevati število posameznih atomov v molekuli. Tako je relativna atomska masa vodika Ar(H) = 1.0, relativna atomska masa kisika pa Ar(O) = 16.0. Iz tega sledi, da je relativna molekulska masa vode Mr(H2O) = 2·1.0 + 16.0 = 18.0. Molska masa vode pa je M(H2O) = 18.0 g/mol.

Bakrov(II) sulfat je kemijska spojina s formulo CuSO4. Spojina ima pravzaprav več kemijskih formul, ki so odvisne od stopnje hidratacije. Tako je modra galica bakrov(II) sulfat pentahidrat s formulo CuSO4·5H2O. Izračunajte molsko maso na podlagi preglednice in vnosa uporabnika, ki vnese stopnjo hidracije oz. število molekul vode.

element relativna atomska masa
Cu 63.5
S 32.1
O 16.0
H 1.0

Primer uporabe:

Stopnja hidracije: 5 
Molska masa je 249.6 g/mol
''' no_input_call = ['''\

Tako kot pri prejšnji nalogi za branje uporabimo funkcijo input

''', '''\

Preberemo vrednost in jo shranimo v spremenljivko:

 h = float(input("Stopnja hidracije: "))
''', '''\

Ime h je spremenljivka (angl. variable). Spremenljivke uporabljamo, kadar želimo kakšno vrednost shraniti, ki jo bomo potrebovali kasneje v programu. Imena spremenljivk so lahko poljubno dolga, v našem primeru bi ji lahko rekli tudi hidracija. Pri programiranju velja, da izbiramo taka imena spremenljivk, ki bodo naredila program berljiv.

''' ] 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, ".")
'''] plan = ['''\

Program razdelimo na tri dele, kot pri prejšnji nalogi:

  1. Preberi vrednost hidracije (h = ?)i
  2. Izračunaj molsko maso mm (mm = …)
  3. Izpiši rezultat (print … )
''', no_input_call, printing] hint = { 'no_input_call': no_input_call, 'printing': printing, 'name_error' : [mod.general_msg['error_head'], mod.general_msg['general_exception'], mod.general_msg['name_error'], '''

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(" ...
'''], 'final_hint' : [ '''\

Program deluje pravilno!

'''] }