`` python
importere tilfeldig
def play_matchsticks (pinner =21):
"" "
Spiller et matchstick -spill der datamaskinen alltid vinner.
Args:
Pinner:Startnummeret til matchsticks (standard:21).
Returnerer:
Ingen
"" "
Trykk (F "Velkommen til Matchstick -spillet! Det er {Sticks} Sticks.")
mens pinner> 0:
# Spillerens tur
player_take =int (input ("Hvor mange pinner vil du ta (1, 2 eller 3)?"))
Mens Player_take <1 eller Player_take> 3:
player_take =int (input ("Ugyldig inngang. Vennligst skriv inn 1, 2 eller 3:"))
Sticks -=Player_take
trykk (f "Du tok {Player_take} pinner. Det er {pinner} igjen.")
# Datamaskinens tur (vinner alltid)
Hvis pinner> 0:
# Datamaskin tar alltid en rekke pinner for å legge igjen et multiplum av 4
Computer_take =4 - (Sticks % 4)
Print (F "Datamaskinen tok {Computer_take} pinner.")
Sticks -=Computer_take
trykk (f "Det er {pinner} igjen.")
# Bestem vinneren
Hvis pinner ==0:
trykk ("Du mistet! Datamaskinen vinner.")
ellers:
trykk ("Du vinner! Datamaskinen tapte.")
Start spillet
play_matchsticks ()
`` `
Forklaring:
1. vinnende strategi: Nøkkelen til å vinne dette spillet er å tvinge motstanderen til alltid å velge en rekke pinner som etterlater et multiplum av 4 igjen.
- Hvis du har 4 pinner igjen, vil du alltid vinne fordi du kan ta alle 4.
- Hvis du har 8 pinner igjen, kan du ta 4 og la være 4 til motstanderen.
2. Datamaskinens logikk:
- `Computer_take =4 - (Sticks % 4)` Line beregner hvor mange pinner datamaskinen må ta for å legge igjen et multiplum på 4.
- `pinner % 4` gir resten når` pinner` er delt med 4.
- `4 - (Pinner % 4)` Sikrer at etter datamaskinens tur, vil antallet pinner som er igjen alltid være et multiplum på 4.
3. Brukerinngang:
- Koden ber brukeren om inndata og validerer den for å sikre at de velger et nummer mellom 1 og 3.
4. Game Flow:
- Spillet fortsetter til det ikke er noen pinner igjen.
- Etter hver spillers tur, skrives de gjenværende pinnene.
Hvordan spille:
1. Kjør koden.
2. Spillet starter med 21 pinner (du kan endre dette i `Play_matchsticks` -funksjonen).
3. Du velger å ta 1, 2 eller 3 pinner hver sving.
4. Datamaskinen vil alltid ta riktig antall pinner for å legge igjen et multiplum av 4 for deg.
5. Etter hvert vil du bli tvunget til å ta de 4 siste pinnene, noe som gjør datamaskinen til vinneren.
Denne koden sikrer at datamaskinen alltid vil vinne spillet.