summaryrefslogtreecommitdiff
path: root/python/problems/lists_and_for/divisors/sl.py
blob: 93f14eb19db2d4a06aa124b56e9ffc4b72703e5f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
import server
mod = server.problems.load_language('python', 'sl')


name = 'Delitelji'
slug = 'Delitelji'


description = '''\
<p>Napiši program, ki izpiše vse delitelje števila, ki ga vnese uporabnik..'''


input_clause = ['''\
Uporabi funkcijo <code>input</code>.
''']

range_function = ['''\
Uporabi funkcijo <code>range(a,b)</code>
''',
                  '''\
<p>Funkcija <code>range(a, b)</code> pripravi seznam števil od a do števila b-1. Poskusi!</p>''',
                  '''\
<p>Z zanko <code>for</code> se sprehodi čez elemente seznama oz. v našem primeru
čez vsa števila od <code>a</code> do <code>b-1</code>.</p>
''']

divisor = ['''\
<p>Operator % vrne ostanek pri deljenju.</p>''',
           '''\
<pre>
>>> 5%3
2
>>> 17%8
1
</pre>''',
           '''\
<p>Če je ostanek pri deljenju števila <code>a</code> s številom <code>b</code> enak 0, potem <code>b</code>
deli število <code>a</code>. </p>''',
           '''\
<pre>
if a%b == 0:
    # b je delitelj števila a
</pre>
''']

plan = ['''\
<p>Preglej vsa števila od <code>1</code> do <code>n-1</code> in izpiši tista, ki delijo <code>n</code>.</p>
''',
        '''\
<p>Plan: </p>
<pre>
Uporabnik vnese število n
Za vsak element v seznamu [1, 2, ..., n-1]
    Preveri, če to število deli n
        Izpiši število
</pre>
''',
        range_function,
        divisor]


hint = {
    'input_clause': input_clause,

    'range_function': range_function,

    'printing': ['''\
<p>Izpiši rezultat.</p>'''],

    'divisor': divisor,

    'last_number': ['''\
<p>Število deli samega sebe!</p>'''],

    'final_hint': ['''\
 <p>Naloga rešena!</p>

 <p>Dejansko ne potrebujemo pregledati vseh števil med <code>1</code> in <code>n-1</code>,
 dovolj bo če gremo do kvadratnega korena števila <code>n</code>:</p>
 <pre>
from math import *

n = int(input('Vnesi število: '))
for i in range(1, int(sqrt(n)+1)):
    if n % i == 0:
        print(i, n/i)
</pre>'''],

    'zero_division': [mod.general_msg['error_head'],
                      mod.general_msg['general_exception'],
                      '''\
<p>Deljenje z nič ni dovoljeno!</p>''',
                      '''\
<p>Računanje ostanka z operatorjem % je tudi deljenje.''']

}