From 816ffe9a13c4aa7e1d0d4ec95355e1dcd6e24faa Mon Sep 17 00:00:00 2001
From: Timotej Lazar
Date: Tue, 15 Sep 2015 14:37:35 +0200
Subject: Update hints for python/fahrenheit_to_celsius
---
.../introduction/fahrenheit_to_celsius/common.py | 17 ++++++++++----
.../introduction/fahrenheit_to_celsius/sl.py | 27 +++++++++++++---------
2 files changed, 28 insertions(+), 16 deletions(-)
diff --git a/python/problems/introduction/fahrenheit_to_celsius/common.py b/python/problems/introduction/fahrenheit_to_celsius/common.py
index 076d322..8362260 100644
--- a/python/problems/introduction/fahrenheit_to_celsius/common.py
+++ b/python/problems/introduction/fahrenheit_to_celsius/common.py
@@ -17,6 +17,13 @@ print("Temperatura je", c, "C")
hint_type = {
'plan': Hint('plan'),
'no_input_call': Hint('no_input_call'),
+ 'expressions_python': Hint('expressions_python'),
+ 'printing': Hint('printing'),
+ 'name_error': HintSequence('name_error', 4),
+ 'unsupported_operand': HintSequence('unsupported_operand', 4),
+ 'not_callable': HintSequence('not_callable', 4),
+ 'syntax_error': HintSequence('syntax_error', 4),
+ 'indentation_error': HintSequence('indentation_error', 3),
}
def test(python, code):
@@ -55,15 +62,15 @@ def hint(python, code):
# have an exception!
if exc:
if 'NameError' in exc:
- return [{'id':'name_error'}]
+ return [{'id':'name_error', 'args': {'message': exc}}]
if 'not callable' in exc:
- return [{'id':'not_callable'}]
+ return [{'id':'not_callable', 'args': {'message': exc}}]
if 'unsupported operand' in exc:
- return [{'id':'unsupported_operand'}]
+ return [{'id':'unsupported_operand', 'args': {'message': exc}}]
if 'SyntaxError' in exc:
- return [{'id':'syntax_error'}]
+ return [{'id':'syntax_error', 'args': {'message': exc}}]
if 'IndentationError' in exc:
- return [{'id':'indentation_error'}]
+ return [{'id':'indentation_error', 'args': {'message': exc}}]
# the trick is to decide when to show the plan and when the first hint.
diff --git a/python/problems/introduction/fahrenheit_to_celsius/sl.py b/python/problems/introduction/fahrenheit_to_celsius/sl.py
index d5cef06..350cd62 100644
--- a/python/problems/introduction/fahrenheit_to_celsius/sl.py
+++ b/python/problems/introduction/fahrenheit_to_celsius/sl.py
@@ -10,7 +10,12 @@ stopinjah, program pa jo izpiše v Celzijevih. Med temperaturama pretvarjamo po
formuli C = 5/9 (F – 32).
'''
general_exception = {
- 'error_head' : 'Napaka:
',
+ 'error_head' : '''\
+Napaka:
+
+[%=message%]
+
+''',
'general': '''
Pri razumevanju napake sta pomembni dve vrstici. V drugi vrstici je specificirana lokacija
@@ -38,21 +43,21 @@ general_exception = {
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
+
Pomeni, da imate napačno število presledkov na začetku vrstice. Poskrbite, da so vse vrstice pravilno
poravnane.
'''
}
hint = {
- 'plan': ['''\
+ 'plan': '''\
Program izvedemo v treh korakih:
- Vprašanje za temperaturo v Fahrenheitih (F = ?).
- Izračun temperature v Celzijih: C = 5/9 (F – 32)
- Izpis temperature v Celzijih (izpiši C).
-
'''],
+''',
- 'no_input_call': ['''\
+ 'no_input_call': '''\
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
@@ -62,10 +67,10 @@ 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
.
'''],
+shrani uporabnikov odgovor v spremenljivko ime
.''',
- 'expressions_python': ['''
+ 'expressions_python': '''
Računanje: če v Pythonu napišemo izraz, se bo ta izračunal. Npr., če napišemo
3 + 6
@@ -76,15 +81,15 @@ napišemo ime spremenljivke, na desno pa izraz:
c = 2 * a * (3 + b)
- Kot vidite, izraz lahko uporablja tudi spremenljivke.
'''],
+Kot vidite, izraz lahko uporablja tudi spremenljivke.
''',
- 'printing': ['''
+ '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'], '''
@@ -110,7 +115,7 @@ f = float(fniz)
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.
'''],
+npr. "10". Če imamo v nizu tudi kakšno črko, bo Python javil napako.'''],
'not_callable' : [general_exception['error_head'], general_exception['general'],
--
cgit v1.2.1