Tömma värdet av en variabel i python - skoluppgift

Permalänk

Tömma värdet av en variabel i python - skoluppgift

Tjena!

Har ett litet problem med en skoluppgift i python3 som jag inte kommer underfund med hur man gör...

Någon som kan leda mig rätt alternativt skriva hur man gör samt ge en kort förklaring?

Programmet är att man, utifrån en lista, får välja diverse maträtter. Programmet beräknar sedan ut antalet kalorier och lägger de i en variabel (kalorierTotalt).
När användaren kör alternativ "5", ska antalet skrivas ut och sedan ska variabeln "kalorierTotalt" tömmas så att användaren kan börja om.

Har försökt använda "del kalorierTotalt", "kalorierTotalt = 0" osv men inget verkar fungera.

Bifogar det 5e alternativet där jag antar att nollställningen ska vara.

elif choice==5:
print ("Du har valt att visa totala mängden kalorier.")
kalorierTotalt = spaghettikalori+kottbullekalori+potatiskalori+korvkalori
print ("Antalet kalorier för vald mat är:", round(kalorierTotalt))
print("Du kan nu börja om och välja ny mat")

Tack

Permalänk
Medlem

@Kastroullen:

Hej!
Ett alternativ är att sätta din variable till "None" vilket är en datatyp i python för att visa avsaknad av värde:

kalorierTotalt = None

Visa signatur

AMD 7950x | Asus ROG X670E GENE | MSI RTX 4090 Suprim X l 32GB Corsair DDR5 l 980 Pro 2tb | Corsair AX1600i | NZXT h400

Permalänk
Skrivet av kungowe:

@Kastroullen:

Hej!
Ett alternativ är att sätta din variable till "None" vilket är en datatyp i python för att visa avsaknad av värde:

kalorierTotalt = None

Hej!

Tack för svaret!

Testade att slänga in

elif choice==5:
print ("Du har valt att visa totala mängden kalorier.")
kalorierTotalt = spaghettikalori+kottbullekalori+potatiskalori+korvkalori
print ("Antalet kalorier för vald mat är:", round(kalorierTotalt))
kalorierTotalt = None

Dock sker inget i själva programmet. När jag skriver 5 två gånger så har kalorierTotalt fortfarande samma värde. Skriver jag None på fel ställe eller hur fungerar None?

Permalänk

Slänger in hela min kod på en sida så någon kan testa den. Observera att det är alltså alternativ 5 som ska lista alla kalorier som man fyllt i innan genom att använda 1-4. Sedan när man kör 5 igen ska värdet vara 0.

https://trinket.io/python/b83a0edb18

Permalänk
Medlem

@Kastroullen:

Hmmm lägga gärna in hela ditt program här så är det lättare att undersöka vad som händer.

//Daniel

Visa signatur

AMD 7950x | Asus ROG X670E GENE | MSI RTX 4090 Suprim X l 32GB Corsair DDR5 l 980 Pro 2tb | Corsair AX1600i | NZXT h400

Permalänk
Skrivet av kungowe:

@Kastroullen:

Hmmm lägga gärna in hela ditt program här så är det lättare att undersöka vad som händer.

//Daniel

Tack, Se inlägget ovan

Permalänk
Medlem
Skrivet av Kastroullen:

Slänger in hela min kod på en sida så någon kan testa den. Observera att det är alltså alternativ 5 som ska lista alla kalorier som man fyllt i innan genom att använda 1-4. Sedan när man kör 5 igen ska värdet vara 0.

https://trinket.io/python/b83a0edb18

Du nollställer kalorierTotalt men de övriga kalorivärdena har fortfarande ett värde så när du kör 5 igen så räknar den ihop de gamla kalorierna till kalorierTotalt. Testa att nollställa alla kalori-värden?

Permalänk
Skrivet av Rixard:

Du nollställer kalorierTotalt men de övriga kalorivärdena har fortfarande ett värde så när du kör 5 igen så räknar den ihop de gamla kalorierna till kalorierTotalt. Testa att nollställa alla kalori-värden?

Ahhh Det har du rätt i! Tänkte inte på det. Ska pröva, tack.

Skickades från m.sweclockers.com

Permalänk
Medlem
Skrivet av Rixard:

Du nollställer kalorierTotalt men de övriga kalorivärdena har fortfarande ett värde så när du kör 5 igen så räknar den ihop de gamla kalorierna till kalorierTotalt. Testa att nollställa alla kalori-värden?

+1

Visa signatur

AMD 7950x | Asus ROG X670E GENE | MSI RTX 4090 Suprim X l 32GB Corsair DDR5 l 980 Pro 2tb | Corsair AX1600i | NZXT h400

Permalänk
Skrivet av Rixard:

Du nollställer kalorierTotalt men de övriga kalorivärdena har fortfarande ett värde så när du kör 5 igen så räknar den ihop de gamla kalorierna till kalorierTotalt. Testa att nollställa alla kalori-värden?

Skrivet av kungowe:

Stort tack för att ni hjälpte till!

Det löste problemet att nolla alla variabler. Tänkte inte på att de behöll sitt värde.

Tack!

Permalänk
99:e percentilen
Skrivet av kungowe:

Ett alternativ är att sätta din variable till "None" vilket är en datatyp i python för att visa avsaknad av värde:

kalorierTotalt = None

None är inte en datatyp, utan ett värde av typen Optional[A] för vilken typ A som helst.

Visa signatur

Skrivet med hjälp av Better SweClockers

Permalänk
Skrivet av Rixard:

Du nollställer kalorierTotalt men de övriga kalorivärdena har fortfarande ett värde så när du kör 5 igen så räknar den ihop de gamla kalorierna till kalorierTotalt. Testa att nollställa alla kalori-värden?

Skrivet av kungowe:
Skrivet av Alling:

None är inte en datatyp, utan ett värde av typen Optional[A] för vilken typ A som helst.

@Alling
@kungowe
@Rixard

Har ett nytt problem nu som ni kanske kan hjälpa mig lite med...
Handlar inte riktigt om samma sak men även detta är en skoluppgift.

Jag ska hitta första siffran av ett antal (ca 300k) olika tal som ligger i en lista och lägga de i en annan lista.
Har i min kod tagit alla värden från filen till en lista (lista) och ska sedan lägga de första siffrorna på alla de talen i en ny lista för att sedan använda dessa i ett diagram.

Är detta något ni har koll på hur man kan göra?

Skickar min nuvarande kod här. https://trinket.io/python/b0facc0ba0

Tack

Permalänk

Hur skulle du göra om du skulle lösa uppgiften för hand? Du kan minska till 30 tal, men lösa samma uppgift. Om du inte klarar att göra detta kommer det vara väldigt svårt att skriva ett program som gör rätt.

Permalänk

Quest

Skrivet av kungowe:

Jag har inte varit meddlem länge nog för att använda marknaden. Kan du kontakta mig kungowe?!/PH

Skickades från m.sweclockers.com