7 svar
204 visningar
frank011010 är nöjd med hjälpen
frank011010 19 – Fd. Medlem
Postad: 3 apr 2020 14:44 Redigerad: 3 apr 2020 15:20

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.

Skaft 2373 – F.d. Moderator
Postad: 3 apr 2020 14:46

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.

frank011010 19 – Fd. Medlem
Postad: 3 apr 2020 14:51

Hur gör man ett break? 

Skaft 2373 – F.d. Moderator
Postad: 3 apr 2020 14:56 Redigerad: 3 apr 2020 15:02

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).

frank011010 19 – Fd. Medlem
Postad: 3 apr 2020 15:02 Redigerad: 3 apr 2020 15:03

Fattar inget har inte gått genom sånt python, uppgift a) gjorde jag själv. 

Skaft 2373 – F.d. Moderator
Postad: 3 apr 2020 15:11

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.

frank011010 19 – Fd. Medlem
Postad: 3 apr 2020 15:21

Fattar inte hur man loppar, men tack ändå. Skippar uppgiften och frågar läraren

Lindehaven 820 – Lärare
Postad: 3 apr 2020 16:38

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

Svara Avbryt
Close