From 84f3426c937d1bb9d44ba25a71706416fbb8b85d Mon Sep 17 00:00:00 2001
From: Martin <martin@leo.fri1.uni-lj.si>
Date: Fri, 9 Oct 2015 11:17:49 +0200
Subject: Added several new problems.

They have no tests nor hints implemented.
---
 python/problems/functions/prime_numbers/common.py | 49 +++++++++++++++++++++++
 python/problems/functions/prime_numbers/en.py     | 16 ++++++++
 python/problems/functions/prime_numbers/sl.py     | 27 +++++++++++++
 3 files changed, 92 insertions(+)
 create mode 100644 python/problems/functions/prime_numbers/common.py
 create mode 100644 python/problems/functions/prime_numbers/en.py
 create mode 100644 python/problems/functions/prime_numbers/sl.py

(limited to 'python/problems/functions/prime_numbers')

diff --git a/python/problems/functions/prime_numbers/common.py b/python/problems/functions/prime_numbers/common.py
new file mode 100644
index 0000000..0447c61
--- /dev/null
+++ b/python/problems/functions/prime_numbers/common.py
@@ -0,0 +1,49 @@
+# coding=utf-8
+
+import re
+from python.util import has_token_sequence, string_almost_equal, \
+    string_contains_number, get_tokens, get_numbers, get_exception_desc
+from server.hints import Hint
+
+id = 234
+group = 'functions'
+number = 13
+visible = True
+
+solution = '''\
+def prime(n):
+    for i in range(2, n):
+        for j in range(2, i):
+            if i % j == 0:
+                break
+        else:
+            print(i)
+'''
+
+hint_type = {
+    'final_hint': Hint('final_hint')
+}
+
+def test(python, code):
+    test_in = [1]
+    n_correct = 0
+
+    passed = n_correct == len(test_in)
+    tin = None
+    tout = None
+    hints = [{'id': 'test_results', 'args': {'passed': n_correct, 'total': len(test_in)}}]
+    if tin:
+        hints.append({'id': 'problematic_test_case', 'args': {'testin': str(tin), 'testout': str(tout)}})
+    if passed:
+        hints.append({'id': 'final_hint'})
+    return passed, hints
+
+def hint(python, code):
+    tokens = get_tokens(code)
+
+    # run one test first to see if there are any exceptions
+    answer = python(code=code, inputs=[(None, None)], timeout=1.0)
+    exc = get_exception_desc(answer[0][3])
+    if exc: return exc
+
+    return None
diff --git a/python/problems/functions/prime_numbers/en.py b/python/problems/functions/prime_numbers/en.py
new file mode 100644
index 0000000..87c01a2
--- /dev/null
+++ b/python/problems/functions/prime_numbers/en.py
@@ -0,0 +1,16 @@
+# coding=utf-8
+
+id = 234
+name = 'Prime numbers'
+slug = 'Prime numbers'
+
+description = '''\
+<p>(translation missing)</p>'''
+
+hint = {
+    'plan': '''\
+<p>(translation missing)</p>''',
+
+    'no_input_call': '''\
+<p>(translation missing)</p>''',
+}
diff --git a/python/problems/functions/prime_numbers/sl.py b/python/problems/functions/prime_numbers/sl.py
new file mode 100644
index 0000000..f6c6b24
--- /dev/null
+++ b/python/problems/functions/prime_numbers/sl.py
@@ -0,0 +1,27 @@
+# coding=utf-8
+import server
+mod = server.problems.load_language('python', 'sl')
+
+
+id = 234
+name = 'Praštevila'
+slug = 'Praštevila'
+
+
+description = '''\
+<p>
+Napišite funkcijo <code>prime(n)</code>, ki izpiše vsa praštevila manjša od <code>n</code>.
+</p>'''
+
+plan = ['''\
+<p></p>
+''',
+        '''\
+<p></p>''']
+
+hint = {
+    'final_hint': ['''\
+<p>Program je pravilen! <br>
+</p>
+'''],
+}
-- 
cgit v1.2.1