Bingo
Hejsan!
Jag håller på att skriva ett bingo program för programmering 1 och har lyckats väldigt bra, men jag har ett litet bekymmer.
Min kod verkar inte förstå när slumptalet är detsamma som användarens inmatade siffror.
Oavsett om man har fått en träff eller ej så adderar koden inte till värdet "Träffar" så slutresultatet blir 0 oavsett om man har fått en träff eller ej.
Koden är följande:
#Hämtar Random modulen
import random
Träffar = 0#Genererar en bricka
bricka = [0]*10#Användaren matar in ett nummer
for i in range (len(bricka)):
nummer = int(input("Skriv in ett tal för lottobrickans position {}: ".format(i)))
bricka = [0]*10#Generera ett slumpmässigt tal
slumptal = random.randint(1, 10)#Jämför brickan med det slumpmässiga talet för att räkna antalet träffar
for nummer in bricka:
if slumptal == nummer:
Träffar += 1#Visar Resultatet
print("Det slumpade talet är: ", slumptal)
print("Antal träffar:", Träffar)
input()
Du gör aldrig något med de inmatade talen.
Laguna skrev:Du gör aldrig något med de inmatade talen.
Inte helt säker på vad du menar med det.
Du borde se det om du läser koden noga. Börja där du ger nummer ett värde och gå sedan neråt. Var använder du variabeln nummer?
Laguna skrev:Du borde se det om du läser koden noga. Börja där du ger nummer ett värde och gå sedan neråt. Var använder du variabeln nummer?
Fortfarande inte helt säker på vad du menar. Problemet ligger inte att jag inte har läst min egna kod noggrannt nog, utan mer att mitt huvud är fast i att efter att jag har designerat ett värde till "nummer" så borde sagd variabel jämföras med slumptal, och om någon av slumptalen är lika så adderar koden +1 till "Träffar".
Ett effektivt sätt att felsöka är att skriva ut olika variablers värde i programmet.
Skriv ut vad bricka, nummer, träffar och slumptal har för värden före raden
#Jämför brickan med det slumpmässiga talet för att räkna antalet träffar
Skriv sedan ut vad bricka, nummer, träffar och slumptal har för värden före raden
#Visar Resultatet
Kommer du vidare?
xFisherking skrev:Laguna skrev:Du borde se det om du läser koden noga. Börja där du ger nummer ett värde och gå sedan neråt. Var använder du variabeln nummer?
Fortfarande inte helt säker på vad du menar. Problemet ligger inte att jag inte har läst min egna kod noggrannt nog, utan mer att mitt huvud är fast i att efter att jag har designerat ett värde till "nummer" så borde sagd variabel jämföras med slumptal, och om någon av slumptalen är lika så adderar koden +1 till "Träffar".
Det Laguna menar är detta:
for i in range (len(bricka)):
nummer = int(input("Skriv in ett tal för lottobrickans position {}: ".format(i)))
bricka = [0]*10
Du gör ju ingenting med variabeln 'nummer'. Du tar emot värdet från användaren, nollställer variabeln 'bricka' och gör detta om och om igen.
Dracaena skrev:Du gör ju ingenting med variabeln 'nummer'. Du tar emot värdet från användaren, nollställer variabeln 'bricka' och gör detta om och om igen.
Jo: if slumptal == nummer:
Såg nu:
nummer = int(input("Skriv in ett tal för lottobrickans position {}: ".format(i)))
sedan:
for nummer in bricka:
I C/C++ får man fel om man deklarerar en redan använd variabel. Icke så i Python.
I raden for nummer in bricka: används samma variabelnamn ("nummer") som tidigare användes för att lagra användarinmatningen. Detta innebär att den tidigare tilldelningen till variabeln "nummer" försvinner.
Förstår du att du måste använda ett annat namn i for nummer in bricka: än nummer?
Peter_ skrev:Såg nu:
nummer = int(input("Skriv in ett tal för lottobrickans position {}: ".format(i)))
sedan:
for nummer in bricka:
I C/C++ får man fel om man deklarerar en redan använd variabel. Icke så i Python.
I raden for nummer in bricka: används samma variabelnamn ("nummer") som tidigare användes för att lagra användarinmatningen. Detta innebär att den tidigare tilldelningen till variabeln "nummer" försvinner.
Förstår du att du måste använda ett annat namn i for nummer in bricka: än nummer?
Nix, det gör jag inte!
Men det är okej, jag kommer inte vidare med varken denna eller C# motsvarigheten så jag har sagt upp mig från kursen då pedagogiken inte fungerar.
Tack så mycket för eran tid vilket som!
Jag skulle vilja stå bredvid dig och peka, det skulle göra allt enklare. Och rita på papper.
Nästa steg här vore att jag skriver på varje rad vad som händer, och frågar tills jag vet att du är med.