Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  6 1100
hallo jeg har et lite spørsmål angående Python:

jeg har lagd denne kanlkulatoren, også lurte jeg på hvordan jeg kan få den til å kjøre en loop igjen, her er koden:

Kode

#!/usr/bin/env python
loop = True

while loop:
        
        print ('\nhva vil du gjøre?\n')
        print ('1: finne arealet av en sirkel')
        print ('2: finne arealet av et rektangel')
        print ('3: legge sammen to, tre eller fire tall')
        print ('4: dele to tall\n')
        valg = int(input('Skriv inn 1, 2, 3 eller 4: '))

        if valg == 1:
                        
                print('du har valgt å finne arealet av en sirkel')
                radius = input('skriv in radiusen av sirkelen: \n')
                print('arealet av sirkelen er', radius*radius*3.14)

                        
        elif valg == 2:
                print('du har valgt å finne arealet av et rektangel')
                hoyde = input('\nskriv inn høyden på rektangelet: ')
                bredde = input('\nskriv inn bredden på rektangelet: ')
                print('arealet til rektangelet er', hoyde*bredde)


        elif valg == 3:
                print ('du har valgt å leggesammen tall\n') 
                antall = int(input('skal du legge sammen 2, 3 eller 4 tall?: '))
                
                if antall == 2:
                        tall = input('skriv det ene tallet du skal legge sammen: ')
                        tall2 = input('skriv det andre tallet du skal legge sammen: ')
                        print ('summen er', tall+tall2)
                        
                if antall == 3:
                        hall = input('skriv det ene tallet du skal legge sammen: ')
                        hall2 = input('skriv det andre tallet du skal legge sammen: ')
                        hall3 = input('Skriv det tredje tallet du skal legge sammen: ')
                        print('summen er', hall+hall2+hall3)
                        
                if antall == 4:
                        talll = input('skriv det ene tallet du skal legge sammen: ')
                        talll2 = input('skriv det andre tallet du skal legge sammen: ')
                        talll3 = input('skriv det tredje tallet du skal legge sammen: ')
                        talll4 = input('skriv det fjerde tallet du skal legge sammen: ')
                        print ('summen er', talll+talll2+talll3+talll4)
                        

        elif valg == 4:
                        print('\nDu har valg å dele to tall')
                        dele = input ('skriv tallet som skal bli delt på: ')
                        dele2 = input('skriv tallet som skal deles på det andre tallet: ')
                        print ('summen blir', dele/dele2)


        else:
                print ('den funksjonen finnes ikke enda')

print('Vil du gjøre flere regnestykker eller avslutte?')
print('her er menyen: \n')
print('1: avslutt')
print('2: flere regnestykker')

endaengang = input('tast inn ditt valg')

if endaengang == 1:
              exit()

elif endaengang == 2:
              while loop:
hvordan kan jeg få menyen til å komme opp igjen hvis "endaengang = input" er 2? (helt nederst)
med fruktkjøtt.
Tias's Avatar
Crew
Sånn som jeg ser det vil du aldri komme til endaengang = input(), ettersom loop aldri settes til False. Ser ut som du har noe krøll med indenteringen din tho, så kan du paste koden din på http://pastebin.com/ i stedet for å bruke php-taggen her på forumet? Lim inn linken til pastebin-oppføringen her etterpå
Det er mulig jeg missforstod hva du mente, men ,
Lastet opp en en version av koden din som gjør det jeg tror du vil her http://pastebin.com/m6b0ccb0b

Tror det du var litt usikker på er hvordan while loopen fungerer, alt som er på indenten over while loopen går så lenge loop variabelen din har verdien True, om du setter denne til False vil loopen slutte å gå, du kan også skrive break for å bryte ut av en loop uten å skifte noen variabler.

Så, det jeg gjorde i koden din var å indente den siste delen av koden fra:
"print('Vil du gjøre flere regnestykker eller avslutte?')"
Til enden av koden. opp i samme nivå som while loopen som går,
Om en velger avslutt vill loop bli False om du velger noe annet vil loopen bare starte fra toppen igjen.

Håper det hjalp, lykke til videre!
Sist endret av kidz; 4. januar 2009 kl. 15:01.
Python kan så mye mer, sjekk ut eval-funksjonen og math-modulen så kan du lage en mye enklere men likevel mer avansert kalkulator...
tusen takk Kidz, det var akkurat det jeg tenkte på har akkurat begynt å lære meg Python så er ikke så god på loop enda xD
Se litt på dette med funksjoner,og indenteringen flytt 4 plasser.
Du variere mellom 8 og 16,4 plasser er en standar de fleste forholder seg til.

Skriver et lite eksp med dette med funksjoner.
Funksjoner og klasser hjelper til lettere gjenbruk av koden.
http://pastebin.com/m4c8e0969
Sist endret av snippsat; 4. januar 2009 kl. 20:31.