13 svar
226 visningar
l0visa 3
Postad: 15 jun 2023 15:33

tärningskast-spara värden i en variabel

Hej,

Jag har en uppgift där användaren ska ange hur många gången en tärning ska kastas. Kasten ska simuleras i en funktion och resultaten ska sparas i en lista. Funktionen har jag fått till enligt nedan som ger ett random tärningskast, men hur sparar jag värdena jag får i en lista som jag sen kan printa ut? Gissar att jag på något sätt måste spara värdena som retuneras i en variabel som sedan ska in där de tre prickarna är? Om det står dicethrow där så blir det bara ett nytt slumpmässigt tal väl och inte det jag faktist fick fram. Allt ska ju loopas sen beroende på hur många gånger användaren vill spela, men det är nästa steg.

import random
result_user=[]

def dicethrow():
    return random.randint(1,6)

result_dice.append(...)
Peter_ 470 – Avstängd
Postad: 15 jun 2023 16:09

Du ska använda numpy.array(list) för att spara resultatet av dina kast i.
Läs mer här:
https://www.digitalocean.com/community/tutorials/vectors-in-python

Laguna Online 30711
Postad: 15 jun 2023 16:17

Det står inget om numpy i uppgiften.

Peter_ 470 – Avstängd
Postad: 15 jun 2023 16:20
Laguna skrev:

Det står inget om numpy i uppgiften.

Nej, det gör det inte i texten som l0visa skrev.
Hur menar du att det ska kunna lösas utan en vektor?

l0visa 3
Postad: 15 jun 2023 16:25

Vektor ska jag nog inte använda då det inte är något vi gått igenom. Uppgiften är egentligen att en användare ska välja hur många gånger tärningen ska kastas och varje gång gissa vad den ska visa och få återkoppling på om man gissade rätt eller fel. I slutet ska resultaten av kasten samt gissningarna presenteras i varsin lista. Användarens gissningar får jag till i listan utan problem, men får inte till de slumpmässiga kasten....

Peter_ 470 – Avstängd
Postad: 15 jun 2023 16:30
l0visa skrev:

Användarens gissningar får jag till i listan utan problem, men får inte till de slumpmässiga kasten....

Visa hur du lägger in användarens gissningar.

Laguna Online 30711
Postad: 15 jun 2023 16:34
Peter_ skrev:
Laguna skrev:

Det står inget om numpy i uppgiften.

Nej, det gör det inte i texten som l0visa skrev.
Hur menar du att det ska kunna lösas utan en vektor?

Det står inget om vektor heller. En vektor kan du alltid representera med en lista, om du vill kalla det en vektor.

l0visa 3
Postad: 15 jun 2023 16:36
result_user=[]

guess_dice = int(input("Guess what the dice shows (1-6):"))
print("You guessed", guess_dice)
result_user.append(guess_dice)

print("Your guesses:", result_user)
Peter_ 470 – Avstängd
Postad: 15 jun 2023 16:36
Laguna skrev:

Det står inget om vektor heller. En vektor kan du alltid representera med en lista, om du vill kalla det en vektor.

Nu ska vi inte pennfäktas. 

Laguna Online 30711
Postad: 15 jun 2023 16:39
Peter_ skrev:
Laguna skrev:

Det står inget om vektor heller. En vektor kan du alltid representera med en lista, om du vill kalla det en vektor.

Nu ska vi inte pennfäktas. 

Du ställde en fråga "Hur menar du att det ska kunna lösas utan en vektor?" och jag svarade på den.

Peter_ 470 – Avstängd
Postad: 15 jun 2023 16:52 Redigerad: 15 jun 2023 17:14
l0visa skrev:
result_user=[]

guess_dice = int(input("Guess what the dice shows (1-6):"))
print("You guessed", guess_dice)
result_user.append(guess_dice)

print("Your guesses:", result_user)

Lägg till 
result_dice=[] i början
sedan på lämpligt ställe
result_dice.append(dicethrow())

Kommer du vidare?

Förtydligande: Jag kallade det vector på grund av att jag använder C++. I python kallas det list och används för att spara flera värden i en variabel.

Fermatrix 7841 – Fd. Medlem
Postad: 15 jun 2023 18:19 Redigerad: 15 jun 2023 18:23

Det finns en skillnad på std::vector och std::array. 

Det är mycket vanligt i introduktionskurser att kalla en array (lista i python, trots det också kan vara en stack mm) fär en vektor.

Frågan är klart gjord för en nybörjare, och då är det sannolikt att man inte ska använda numpy mm för att lösa uppgiften.


Med det sagt så skrev TS:

Jag har en uppgift där användaren ska ange hur många gången en tärning ska kastas. Kasten ska simuleras i en funktion och resultaten ska sparas i en lista.

Och det är då menat att använda typen list


Förutom att kika vad man kan göra med en lista i python @l0visa, kan det vara bra att läsa lite om hur man på ett snyggare men även smidigare sätt kan presentera utskriften av ett program.

Referera till följande dokumentation: Input and Output

fafen 10
Postad: 24 jun 2023 20:32 Redigerad: 24 jun 2023 20:33

För att spara värdena som returneras av dicethrow()-funktionen i en lista kan du använda .append()-metoden för listor. Du kan tilldela resultatet av dicethrow() till en variabel och sedan använda .append() för att lägga till värdet i listan result_dice.

Här är en uppdaterad version av koden där resultaten sparas i listan result_dice:



import random

result_dice = []

def dicethrow():
    return random.randint(1, 6)

# Användaren anger antalet gånger tärningen ska kastas
antal_kast = int(input("Ange antal gånger tärningen ska kastas: "))

# Loopa och simulera tärningskast
for _ in range(antal_kast):
    kast_resultat = dicethrow()
    result_dice.append(kast_resultat)

# Skriv ut resultaten
print("Resultaten av tärningskasten:")
print(result_dice)

fafen 10
Postad: 24 jun 2023 20:33

import random

result_dice = []

def dicethrow():
return random.randint(1, 6)

# Användaren anger antalet gånger tärningen ska kastas
antal_kast = int(input("Ange antal gånger tärningen ska kastas: "))

För att spara värdena som returneras av dicethrow()-funktionen i en lista kan du använda .append()-metoden för listor. Du kan tilldela resultatet av dicethrow() till en variabel och sedan använda .append() för att lägga till värdet i listan result_dice.

import random

result_dice = []

def dicethrow():
    return random.randint(1, 6)

# Användaren anger antalet gånger tärningen ska kastas
antal_kast = int(input("Ange antal gånger tärningen ska kastas: "))

# Loopa och simulera tärningskast
for _ in range(antal_kast):
    kast_resultat = dicethrow()
    result_dice.append(kast_resultat)

# Skriv ut resultaten
print("Resultaten av tärningskasten:")
print(result_dice)
Svara
Close