Du er ikke logget inn. Så lenge du ikke er logget inn går du glipp av muligheten for å holde styr på din egen progresjon.

Valgte tags:

Filtrering:

2.3.3: Yatzy

Vi er på hytta og det er full stemning for Yatzy, men desverre har vi glemt terningene hjemme.

  1. Skriv et program som lar brukeren skrive en input n. Bruk deretter en for-løkke til å fylle opp en liste med n antall tilfeldige tall mellom 1 og 6. Skriv deretter ut lista.
  2. Utvid programmet slik at brukeren kan velge å kaste terninger igjen.

Idèer til utvidelser:
- La brukeren holde på de terningene de ønsker.
- Innfør betingelser og tester slik at brukeren får poeng utifra terningkastene.
- La brukeren spille et helt Yatzy spill med en eller flere personer.

Oppgave 1
Vi starter med å hente inn en input n fra brukeren, som vi gjør om til et heltall. Vi definerer deretter en tom liste. Vi lar en for-løkke kjøre n ganger og legge til ett tilfeldig tall mellom 1 og 6 for hver itterasjon. Vi printer så ut lista:

from pylab import*

n = input("Hvor mange terninger vil du kaste?") #Henter unput
n = int(n)                                      #Konverterer til heltall

terninger = []                          #Definerer tom liste

for i in range(n):                      #Løkke kjører n ganger
    terninger.append(randint(1,7))      #Legger til tilfeldig tall i lista "terninger"

print(terninger)

Vi må konvertere n til heltall fordi vi skal bruke den som argument i en for løkke. randint(1,7) vi kun gi verdier opp til 6, ikke inkludert 7.

Oppgave 2
Vi utvider programmet fra forrige oppgave til å spørre brukeren om de vil kaste terninger igjen. Vi setter alt fra forrige oppgave inn i en while-løkke og skriver da:

from pylab import*

fornoyd= 0              #Definerer en variabel fornoyd
while fornoyd != "n":   #Kjører så lenge fornoyd ikke er lik n

    n = input("Hvor mange terninger vil du kaste?")
    n = int(n)

    terninger = []

    for i in range(n):
        terninger.append(randint(1,7))

    print(terninger)

    fornoyd = input("Vil du kaste på nytt? (j/n)")  #Hvis brukeren skriver n,
                                                    #så stopper løkken

Vi definerer fornoyd utenfor løkken som noe annet enn "n", slik at løkken kjører første gangen. Vi må ha terninger-listen inne i løkken så den blir "tømt", for hvert nye kast. Vi spør til slutt brukeren om det ønsker å kaste terningen en gang til. Hvis brukeren skriver "n", vi løkken stoppe, hvis brukeren skriver noe annet kjører løkken igjen.