Skip to content

Commit 9df5cb7

Browse files
authored
Create SPS_while.ipynb
1 parent 80e3119 commit 9df5cb7

1 file changed

Lines changed: 98 additions & 0 deletions

File tree

book/some_content/SPS_while.ipynb

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
{
2+
"cells": [
3+
{
4+
"cell_type": "markdown",
5+
"metadata": {},
6+
"source": [
7+
"# Opdracht\n",
8+
"Je gaat het spel Steen-Papier-Schaar zo uitbreiden, dat je het spel blijft spelen totdat de speler aangeeft dat deze wil stoppen òf totdat een der spelers 5 punten heeft gescoord.\n",
9+
"Je moet dus 2 globale variabelen `scoreSpeler` en `scoreComputer` maken, waarin je de punten bij houdt."
10+
]
11+
},
12+
{
13+
"cell_type": "code",
14+
"execution_count": null,
15+
"metadata": {},
16+
"outputs": [],
17+
"source": [
18+
"import random\n",
19+
"\n",
20+
"# Globale variabelen\n",
21+
"scoreSpeler = 0\n",
22+
"scoreComputer = 0\n",
23+
"\n",
24+
"def start_spel():\n",
25+
" global scoreSpeler, scoreComputer\n",
26+
" opties = [\"steen\", \"papier\", \"schaar\"]\n",
27+
" \n",
28+
" print(\"Het spel begint! Typ 'stop' om te stoppen.\")\n",
29+
" \n",
30+
" while scoreSpeler < 5 and scoreComputer < 5:\n",
31+
" print(f\"\\nStand - Jij: {scoreSpeler} | Computer: {scoreComputer}\")\n",
32+
" \n",
33+
" keuze_speler = input(\"Maak je keuze (steen, papier, schaar): \").lower().strip()\n",
34+
" \n",
35+
" if keuze_speler == \"stop\":\n",
36+
" print(\"Je hebt het spel gestopt.\")\n",
37+
" break\n",
38+
" \n",
39+
" if keuze_speler not in opties:\n",
40+
" print(\"Ongeldige keuze, probeer het opnieuw.\")\n",
41+
" continue\n",
42+
" \n",
43+
" keuze_computer = random.choice(opties)\n",
44+
" print(f\"Computer koos: {keuze_computer}\")\n",
45+
" \n",
46+
" if keuze_speler == keuze_computer:\n",
47+
" print(\"Gelijkspel!\")\n",
48+
" elif (keuze_speler == \"steen\" and keuze_computer == \"schaar\") or \\\n",
49+
" (keuze_speler == \"papier\" and keuze_computer == \"steen\") or \\\n",
50+
" (keuze_speler == \"schaar\" and keuze_computer == \"papier\"):\n",
51+
" print(\"Punt voor jou!\")\n",
52+
" scoreSpeler += 1\n",
53+
" else:\n",
54+
" print(\"Punt voor de computer!\")\n",
55+
" scoreComputer += 1\n",
56+
"\n",
57+
" print(f\"\\nEinduitslag: Jij {scoreSpeler} - {scoreComputer} Computer\")\n",
58+
"\n",
59+
"start_spel()"
60+
]
61+
},
62+
{
63+
"cell_type": "markdown",
64+
"metadata": {},
65+
"source": [
66+
"<details>\n",
67+
"<summary><b>Klik hier voor de oplossing</b></summary>\n",
68+
"\n",
69+
"De oplossing gebruikt een `while`-loop die controleert of beide scores lager zijn dan 5. \n",
70+
"Met de `global` declaratie kunnen we de variabelen `scoreSpeler` en `scoreComputer` binnen de functie aanpassen. \n",
71+
"De `break` zorgt ervoor dat het spel stopt zodra de gebruiker 'stop' typt.\n",
72+
"\n",
73+
"</details>"
74+
]
75+
}
76+
],
77+
"metadata": {
78+
"kernelspec": {
79+
"display_name": "Python 3",
80+
"language": "python",
81+
"name": "python3"
82+
},
83+
"language_info": {
84+
"codemirror_mode": {
85+
"name": "ipython",
86+
"version": 3
87+
},
88+
"file_extension": ".py",
89+
"mimetype": "text/x-python",
90+
"name": "python",
91+
"nbconvert_exporter": "python",
92+
"pygments_lexer": "ipython3",
93+
"version": "3.10.0"
94+
}
95+
},
96+
"nbformat": 4,
97+
"nbformat_minor": 4
98+
}

0 commit comments

Comments
 (0)