Triangel
Skriv ett program som först slumpar fram ett tal mellan 1 och 100 med hjälp av randint(). Spara ditt tal i en variabel som du kallar rattsvar (rätt svar). Skriv sedan en while-sats som frågar användaren efter en gissning på talet (vad är ett lämpligt namn på den variabel du behöver ?). Om användaren gissar rätt skall repetitionen avslutas, i annat fall skall programmet tala om ifall det gissade värdet är mindre än eller större än det rätta svaret. Du kommer att behöva både en repetitionssats och if-satser för detta. Fundera på vilken sorts repetition du behöver.
En while-loop låter som en bra idé. Då kan du fråga användaren om värden i början av loopen, sedan kolla att värdena är rimliga med hjälp av kriteriet de ger i uppgiften. Om värdena ser bra ut, då kan du använda break för att bryta loopen och gå vidare med programmet.
Hur gör man ett break?
Som det låter! =)
if (dags att bryta loopen):
break
break skriver man alltså bara rakt av någonstans inne i en loop. Då hoppar programmet ut ur den loopen och fortsätter efter den. (Har man en loop i en loop, kommer break bara bryta den innersta loopen, men det är nog inte relevant i den här uppgiften)
EDIT: Här är ett kort exempel på en for-loop som använder break. Den "försöker" loopa igenom heltalen 0-9 och printa dem, men break gör att loopen avslutas så fort den når ett tal större än 5 (vilket kommer vara 6 eftersom de tas i ordning).
Fattar inget har inte gått genom sånt python, uppgift a) gjorde jag själv.
Såg du att jag la till ett exempel på break i efterhand? Det är bara fem bokstäver man knappar in för att säga "sluta loopa". I övrigt är det bara if och while, och de känner du ju till.
Pseudokod för strukturen jag pratade om:
loopa detta:
fråga användaren om sidlängder
om sidlängder funkar:
bryt loopen
undersök om triangeln är rätvinklig
meddela resultatet
Det som blir underförstått här är att om sidlängderna inte funkar så kommer loopen inte breakas. Då börjar den om med att fråga användaren om värden, och testar sen om de funkar så att loopen kan breakas. Så håller den alltså på tills användaren matar in giltiga sidlängder.
Fattar inte hur man loppar, men tack ändå. Skippar uppgiften och frågar läraren
Din lärare och/eller bok bör ge svaren på hur man loopar. En del av svaret får du dock här. En loop i Python kan exempelvis göras som nedan.
# slumpa fram ett tal
while True:
# låt användaren gissa
# om gissningen är samma som det slumpade talet:
break