-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmatteprogram_v1.py
More file actions
166 lines (123 loc) · 4.64 KB
/
matteprogram_v1.py
File metadata and controls
166 lines (123 loc) · 4.64 KB
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
# Matte-program
# 2017-05-05
# v1.0
from tkinter import *
import random
window = Tk()
window.title('Matte')
# Funksjoner
#generer oppgaver
def generer_oppgave_lett():
var_tilbakemelding.set('')
var_svar.set('')
# genere to tall
# legge sammen eller trekke fra
# lage oppgaven og ta vare på svaret
fasit = 0
while int(fasit) <= 0 or int(fasit) > 10:
siffer1 = random.randrange(1,6)
siffer2 = random.randrange(1,6)
operator_velger = random.randrange(1,3)
if int(operator_velger) == 1:
operator = '+'
fasit = (int(siffer1) + int(siffer2))
else:
operator = '-'
fasit = (int(siffer1) - int(siffer2))
# skriv ut oppgaven
text = str(siffer1) + operator + str(siffer2)
var_oppgave.set(text)
var_fasit.set(fasit)
def generer_oppgave_middels():
var_tilbakemelding.set('')
var_svar.set('')
# genere to tall
# legge sammen eller trekke fra
# lage oppgaven og ta vare på svaret
fasit = 0
while int(fasit) <= 9:
siffer1 = random.randrange(1,16)
siffer2 = random.randrange(1,16)
operator_velger = random.randrange(1,3)
if int(operator_velger) == 1:
operator = '+'
fasit = (int(siffer1) + int(siffer2))
else:
operator = '-'
fasit = (int(siffer1) - int(siffer2))
# skriv ut oppgaven
text = str(siffer1) + operator + str(siffer2)
var_oppgave.set(text)
var_fasit.set(fasit)
def generer_oppgave_vanskelig():
var_tilbakemelding.set('')
var_svar.set('')
# genere to tall
# legge sammen eller trekke fra
# lage oppgaven og ta vare på svaret
fasit = 0
while int(fasit) <= 9 and int(fasit) >= 0:
siffer1 = random.randrange(1,16)
siffer2 = random.randrange(1,16)
operator_velger = random.randrange(1,3)
if int(operator_velger) == 1:
operator = '+'
fasit = (int(siffer1) + int(siffer2))
else:
operator = '-'
fasit = (int(siffer1) - int(siffer2))
# skriv ut oppgaven
text = str(siffer1) + operator + str(siffer2)
var_oppgave.set(text)
var_fasit.set(fasit)
# funksjon for å sjekke om svaret er rett (knappen)
def lever_svar():
levert_svar = var_svar.get()
fasit = var_fasit.get()
oppgave = var_oppgave.get()
tilbakemelding = oppgave + ' blir ' + str(fasit) + ', helt rett!'
# printe tilbakemelding etter at knappen er trykket
if int(fasit) == int(levert_svar):
var_tilbakemelding.set(tilbakemelding)
elif int(fasit) > int(levert_svar):
var_tilbakemelding.set('For lavt.')
elif int(fasit) < int(levert_svar):
var_tilbakemelding.set('For høyt.')
# Hovedfunksjoner:
var_operator = StringVar()
# GUI
# tittel
lbl_tittel = Label(window, text='Velkommen til matteprogrammet!')
lbl_tittel.grid(row=0, column=0, columnspan=3, padx=5, pady=5, sticky=W)
# beskrivelse
lbl_beskrivelse = Label(window, text='Hva blir:')
lbl_beskrivelse.grid(row=3, column=0, padx=5, pady=5, sticky=W)
# oppgaven?
var_oppgave = StringVar()
ent_oppgave = Entry(window, width=6, state='readonly', textvariable=var_oppgave)
ent_oppgave.grid(row=3, column=1, padx=5, pady=5, sticky=W)
# svar-boks
var_svar = StringVar()
ent_svar = Entry(window, width=2, textvariable=var_svar)
ent_svar.grid(row=3, column=2, padx=5, pady=5, sticky=W)
# knapp for å levere svar
btn_svar = Button(window, text='Svar', command=lever_svar)
btn_svar.grid(row=3, column=3, padx=5, pady=5, sticky=W)
# knapp for ny oppgave: lett
btn_nyOppg_lett = Button(window, text='Lett', command=generer_oppgave_lett)
btn_nyOppg_lett.grid(row=4, column=0, padx=5, pady=5, sticky=W)
# tilbakemelding
var_tilbakemelding = StringVar()
ent_tilbakemelding = Entry(window, width=20, state='readonly', textvariable=var_tilbakemelding)
ent_tilbakemelding.grid(row=4, column=2, columnspan=3, padx=5, pady=5, sticky=W)
# knapp for ny oppgave: middels
btn_nyOppg_middels = Button(window, text='Middels', command=generer_oppgave_middels)
btn_nyOppg_middels.grid(row=5, column=0, padx=5, pady=5, sticky=W)
# knapp for ny oppgave: vanskelig
btn_nyOppg_vanskelig = Button(window, text='Vanskelig', command=generer_oppgave_vanskelig)
btn_nyOppg_vanskelig.grid(row=6, column=0, padx=5, pady=5, sticky=W)
# avslutt
btn_avslutt = Button(window, text='Avslutt', command=window.destroy)
btn_avslutt.grid(row=6, column=4, padx=5, pady=5, sticky=E)
var_fasit = StringVar()
window.mainloop()