Sida 1 av 1

Kmom02 fråga 3.2 I need Help pls

InläggPostat: 31 aug 2019, 11:10
av Aladin Hindawi
Hej aladin här jag är fast på fråga 3.2 på kmom02 och frågan lyder såhär. man ska göra en while loop där 8 subtraheras från 52 70 gånger och min kod ser ut såhär.

Kod: Markera allt
x = 52

the_five_two_loop = 0

while True:
    if x > x - (8*70):
        the_five_two_loop -= x

    x -= 8

ANSWER = the_five_two_loop


vet att jag ska få den att avbryta men vet inte hur jag ska få stop på denna while loop, har testat med break men då blir mitt svar x = -52

Re: Kmom02 fråga 3.2 I need Help pls

InläggPostat: 31 aug 2019, 13:48
av olov
Hej Aladin!

Om vi kollar på ditt while-statement först:
Kod: Markera allt
while True:

Så säger den att medan villkoret är sant så ska något göras. I det här fallet har du angivit boolesken 'True' som villkor. I koden som följer ändras inte villkoret. 'True' kommer fortsätta vara 'True'.

Alltså kommer Python fortsätta utföra while-satsen i all oändlighet. Mitt tips här är att prova med ett annat villkor. Du skulle kunna skapa en variabel som du ändrar i varje iteration och skriva att iterationen ska utföras så länge variabeln har eller inte har ett visst värde.

Sen har du gjort en if-sats.
Kod: Markera allt
if x > x - (8*70):

Jag antar att du har tänkt ändra x i det följande kod-blocket. Men du ändrar variabeln the_five_two_loop som du sen inte använder.

Kan x någonsin bli mindre än x - (8*70)?

Kontrollera även din indention, den är avgörande i Python till skillnad från i vissa andra språk. Nu ligger x -= 8 inte i while-loopen.

Lycka till!