Blad-steen-schaar is een wijdverbreid nulsomspel1 voor twee spelers dat met de hand gespeeld wordt. Het spel wordt gebruikt om te loten, bijvoorbeeld om te bepalen wie aan de beurt is bij een spel zoals tikkertje, verstoppertje of varianten daarvan. Het voordeel is dat er daarbij geen derde persoon nodig is (zoals bij het raden van een getal), en ook geen materiaal zoals bij kop of munt en een dobbelsteen rollen. De uitkomst is onvoorspelbaar, in tegenstelling tot het gebruik van een aftelrijmpje.

blad_steen_schaar

Het spel verloopt als volgt. De twee spelers tellen af en steken tegelijkertijd en zonder aarzeling de hand uit in de vorm van een steen (een vuist), een schaar (twee uitgestoken vingers) of een blad (een vlakke hand). Hierbij verslaat de steen de schaar, de schaar het blad en het blad de steen.

gebaren

Opdracht

In het hoofdprogramma lees je de handgebaren van beide spelers in. Bepaal de winnaar, en schrijf exact de tekst die hieronder wordt beschreven.

Invoer

Twee regels waarop telkens één van de woorden blad, steen of schaar staat. De eerste regel geeft aan welk handgebaar speler1 maakt, en de tweede regel welk handgebaar speler2 maakt.

Uitvoer

Een regel die aangeeft welke speler het spelletje wint. Deze regel moet één van de volgende omschrijvingen bevatten: Probeer het aantal voorwaarden dat moet getest worden om het resultaat te bepalen minimaal te houden.

Voorbeeld

De ingegeven gebaren zijn schaar en steen.
>>> main()
speler2 wint 

Opmerking

Je moet het hoofdprogramma toevoegen in de gegeven procedure main().

Tips

Ik krijg een fout als ik blad gebruik. Een letterlijke tekst zet je tussen aanhalingstekens vb. "blad"
Hoe kan ik drie situaties beschrijven met if-else? gebruik een elif
Er zijn 9 situaties mogelijk. Gebruik ik dan telkens elif? Neen, je kan die 9 situaties groeperen:
  • Gelijke input (3 situaties)
  • 3 situaties waarin "speler1" wint
  • 3 situaties waarin "speler2" wint
Het lukt dus met één extra elif
Hoe beschrijf ik in één voorwaarde de 3 situaties waarin "speler1" wint? Gebruik een samengestelde voorwaarde:
(speler1 == "blad" and speler2 == "steen") or ...
In VSCode lukt het prima, maar ik gebruik teveel if/elif volgens de laatste test op Dodona. Gebruik maar één if/elif om alle situaties te beschrijven waarin speler1 wint. Zie vorige tip.
In Dodona heb ik een opmerking bij Code: Too many boolean expressions in if statement (6/5). Wat nu? Hier is Dodona te streng - je mag deze opmerking dus negeren.