From 898789199e6af91dfa900650c22df6d26f7e635f Mon Sep 17 00:00:00 2001
From: Martin Napiši program, podoben prejšnjemu, vendar naj ne vpraša vedno, koliko je 6 krat 7, temveč naj si
izmišlja naključna vprašanja iz poštevanke. Program bo torej izžrebal dve števili med 1 in 10 in izpisal
-račun s tema dvema številoma namesto s 6 in 7. Tokrat naj program tudi preveri, ali je uporabnik
-pravilno izračunal produkt.
Koliko je 6 krat 3? UPORABNIK VTIPKA 18 -Odgovor je pravilen. +True Za razmišljanje ste porabili 2.1922357082366943 s.-
Pri tej nalogi prav tako ni testnih primerov.
''' -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 = { - 'random': '''\ -Če napišemo na začetek programa
+random = ['''\ +V modulu random
imate funkcijo randint
,
+ki vrača naključno celo število.
Če napišemo na začetek programa:
from random import *-
dobimo (med drugim) tudi funkcijo randint(x,y)
, ki vrne naključno
+
dobimo (med drugim) dostop do funkcije randint(x,y)
, ki vrne naključno
celo število med x
in y
:
st = randint(1, 10) -''', +'''] - 'plan': ['''\ +if_clause = [''' +
Program se mora obnašati ustrezno rezultatu. Če izračunamo pravilno, bo izpisal True, drugače +False. To omogoča pogojni stavek.
''', +''' Primer pogojnega stavka if
:
+
+if a == b: # dvopičje na koncu pogoja! + print(True) +else: + print(False) +''' + ], + +plan = ['''\
Razširimo plan iz prejšnje naloge:
Pri vprašanju za rezultat produkta moramo navesti tudi vrednosti -dveh spremenljivk. Najlažje bo, če uporabite dve vrstici:
-
-print("Koliko je", x, " * ", y, "?") -rezultat = float(input()) -'''], + random, + if_clause] - 'if_clause': [''' -
Program se mora obnašati ustrezno rezultatu. Če izračunamo pravilno, bo napisal "Odgovor je pravilen", drugače -"Odgovor ni pravilen". To omogoča pogojni stavek.
''', -''' Primer pogojnega stavka if
:
+hint = {
+ 'random': random,
+
+ 'if_clause': if_clause,
+
+ 'final_hint': '''\
+
Odlično! Za konec pa še zanimivost:
+Pri tej nalogi stavka if
niti ne potrebujemo, saj bi lahko napisali le:
-if a == b: # dvopičje na koncu pogoja! - print("a je enak b") -else: - print("a ni enak b") -''' - ], +print(a == b) + +
kar bi izpisalo rezultat izraza a == b. Poskusi!
''', - 'name_error' : [general_exception['error_head'], general_exception['general'], - general_exception['name_error'], ''' + 'name_error' : [mod.general_msg['error_head'], mod.general_msg['general_exception'], + mod.general_msg['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?
'''], - 'type_error' : [general_exception['error_head'], general_exception['general'], - general_exception['type_error'], ''' + 'type_error' : [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(" ...'''], - - 'error' : [general_exception['error_head'], general_exception['general'],] } -- cgit v1.2.1