9 svar
334 visningar
seb_macahan 5
Postad: 28 jul 2022 13:58

enkel programmering

Hej! 

Är nybörjare när det kommer till programmering i Python. 

Skriv ett Python-program som läser in ett godtyckligt antal födelseårtal tills dess att talet noll matats in. Programmet ska sedan skriva ut medelåldern samt hur gammal den yngsta respektive äldsta är.

Jag har svårt med att loopar.

är tacksam för alla hjälp!

Laguna Online 30473
Postad: 28 jul 2022 14:03

Har du skrivit någon loop alls tidigare?

seb_macahan 5
Postad: 28 jul 2022 18:20

ja, väldigt enkla loopar. 

jag kan bifoga min kod så kan ni kolla på den. har fastnat.

Laguna Online 30473
Postad: 28 jul 2022 19:05

Vad är det som inte funkar? Jag ser att min_år förmodligen blir 0, men funkar det andra?

Logiken för orimlig input är väldigt konstig, men det kan vi ta sen.

seb_macahan 5
Postad: 28 jul 2022 19:20

Det skrivs inte ut "orimligt årtal" när jag matar in ett negativt värde. och resultatet av ålder ska bli (2022-inmatade året) men det blir det icke.

seb_macahan 5
Postad: 28 jul 2022 19:23

det ska se ut så som detta exempel;

Laguna Online 30473
Postad: 28 jul 2022 19:33

"Orimligt årtal" skrivs ut om åldern är större än 110 och innan dess testar du om åldern är mindre än 0, så det skrivs aldrig ut.

Du kan skriva 

if ålder < 0 or ålder > 110:

så får du med båda kriterierna. Vad skulle while ålder != 2022 vara bra för? Ta bort den.

seb_macahan 5
Postad: 28 jul 2022 20:57

Tack för snabbt svar och bra tips! 

Men nu får jag inte till den yngsta åldern. Den är fortfarande 0. Skulle du kunna kolla det? bifogar en bild från konsollen.

Laguna Online 30473
Postad: 28 jul 2022 21:13

min_år är 0 från början, så den är alltid mindre än de uträknade åldrarna, så den ändras aldrig.

Skoob 8
Postad: 9 aug 2022 11:45 Redigerad: 9 aug 2022 11:46
seb_macahan skrev:

Tack för snabbt svar och bra tips! 

Men nu får jag inte till den yngsta åldern. Den är fortfarande 0. Skulle du kunna kolla det? bifogar en bild från konsollen.

Vet inte om du har löst det men du hade kunnat skapa en lista med alla åldrar och sortera den från lägsta till största nummer. Sedan kan du ta första och sista indexen i listan vilket då är yngsta respektive äldsta åldrarna. 

Exempel:

Svara
Close