Vinnaren i pepparkakshustävlingen!
2017-09-04, 16:36
  #1
Medlem
uppgiften ser ut på följande vis:
1.Definiera en funktion recept(antal), som skriver ut en lista på ingredienser till en sockerkaka som är lagom
för det givna antalet personer. Följande recept är lämpligt för 4 personer. Observera att din funktion måste fungera för godtyckiligt antal personer. I utskriften ska antalet ägg vara heltal. För väldigt få personer kan det hända att man får 0 ägg. Detta beteende är acceptabelt.
2. Definiera två olika funktioner för tidsåtgång vid tillagning av sockerkaka:
2,1 En funktion tidblanda(antal) som beräknar och returnerar tiden för att blanda smeten till en sockerkaka för antal personer. Tidsåtgången ska beräknas som 10 minuter fast tid (oavsett antal personer) samt dessutom ytterligare en minut för varje person kakan är avsedd för.
2,2 En funktion tidgradda(antal) som beräknar och returnerar tiden för att grädda kakan, Tidsåtgången ska beräknas som 30 minuter fast tid (oavsett antal personer) samt dessutom ytterligare 3 minuter för varje person kakan är avsedd för.

Definiera en funktion sockerkaka(antal) som skriver ut recept för antal personer på skärmen samt tidsåtgång för antal personer. I tidsåtgången ska både tid för gräddning och blandning inkluderas i samma värde (summeras). Funktionerna från (1) och (2) ska användas.
Skriv, i samma fil, ett script som skriver ut sockerkaksrecept till 4 och 7 personer på skärmen. Programmet ska alltså skriva ut två recept efter varandra. Här är det noga med att du skriver just ett script, inte en till funktion. Scriptet ska däremot använda din funktion från uppgift 3.

Mitt problem är att jag inte förstår ur kursmaterialet hur jag ska kunna summera dessa tider som jag ska returnera.
Citera
2017-09-04, 17:12
  #2
Moderator
vhes avatar
Berätta hur du implementerat funktionerna tidblanda(antal) samt tidgradda(antal) så kan nog någon berätta hur du skall lyckas summera tiderna. Alternativt hur du skall modifiera dina funktioner så att det går att summera värdena.

Utan att vi vet hur du skrivit de funktionerna blir det däremot svårt att berätta hur du skall arbeta med deras returvärden.
Citera
2017-09-05, 14:28
  #3
Medlem
Här är ett exempel på hur du kan räkna ut totaltid baserat på tiden som två funktioner räknar ut.

Kod:
def tidblanda(x):
	return "3" 
def tidgradda(y):
	return "3" 

print(int(tidblanda(1))+int(tidgradda(1)))
Citera
2017-09-05, 20:49
  #4
Moderator
vhes avatar
Citat:
Ursprungligen postat av annemil
Här är ett exempel på hur du kan räkna ut totaltid baserat på tiden som två funktioner räknar ut.

Kod:
def tidblanda(x):
	return "3" 
def tidgradda(y):
	return "3" 

print(int(tidblanda(1))+int(tidgradda(1)))

Ja, det finns ju lite småförbättringar man kan göra. Du skickar ut "3", snarare än 3 (utan citationstecken). Det är ju lite onödigt, eftersom du då måste konvertera svaren till tal innan du adderar dem. Så om du tar bort citationstecknen så slipper du anropa int på svaren. Och i och med det har du ju faktiskt löst problemet du frågade om - hur man summerar tidsåtgången.

Däremot är ju implementationen av funktionerna lite bristfälliga. Det stod i specen att tidsåtgången för blandandet var: "10 minuter fast tid (oavsett antal personer) samt dessutom ytterligare en minut för varje person kakan är avsedd för". Tycker du att svaret 3 verkar vara ett bra svar då? Du behöver ju ta tio, och lägga till antalet personer. Och motsvarande för gräddningstiden.
Citera
2017-09-10, 15:22
  #5
Medlem
Citat:
Ursprungligen postat av vhe
Ja, det finns ju lite småförbättringar man kan göra. Du skickar ut "3", snarare än 3 (utan citationstecken). Det är ju lite onödigt, eftersom du då måste konvertera svaren till tal innan du adderar dem. Så om du tar bort citationstecknen så slipper du anropa int på svaren. Och i och med det har du ju faktiskt löst problemet du frågade om - hur man summerar tidsåtgången.

Däremot är ju implementationen av funktionerna lite bristfälliga. Det stod i specen att tidsåtgången för blandandet var: "10 minuter fast tid (oavsett antal personer) samt dessutom ytterligare en minut för varje person kakan är avsedd för". Tycker du att svaret 3 verkar vara ett bra svar då? Du behöver ju ta tio, och lägga till antalet personer. Och motsvarande för gräddningstiden.

Jag löste inte skoluppgiften åt pojken utan gav ett exempel på hur man skulle kunna göra för att hjälpa honom vidare med att göra läxorna, då det var ett specifikt problem han hade.

Jag är själv nybörjare.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback