Gå til innhold

nybegynnerspørsmål om %


Anbefalte innlegg

Jeg får ikke helt grepet på hva "%" egentlig gjør, jeg har brukt tegnet selv å fått til det jeg forsøkte på, men fortsatt er det ikke helt håndgriplig for meg hva det tegnet egentlig gjør med koden.

 

Hvis noen kan gi meg noe input så jeg kan bli litt klokere hadde det vært veldig fint :)

Lenke til kommentar
Videoannonse
Annonse

Det heter modulo, som betyr resten etter en helt-tall divisjon.

 

Du husker kanskje fra skolen at hvis du tok 3/2 så fikk du 1, men 1 i rest, og 11/4 = 2 med 3 i rest.

 

Fra dette kan man derfor si at 3%2=1, 11%4=3. Altså i stede for å få svaret på divisjonen, er du ute etter å få "resten", når det ikke går opp. Hvis divisjonen går akkurat opp, så blir den 0.

Lenke til kommentar

Jeg får ikke helt grepet på hva "%" egentlig gjør, jeg har brukt tegnet selv å fått til det jeg forsøkte på, men fortsatt er det ikke helt håndgriplig for meg hva det tegnet egentlig gjør med koden.

 

Hvis noen kan gi meg noe input så jeg kan bli litt klokere hadde det vært veldig fint :)

 

Skal prøve å få det litt lettere frem enn etse sin forklaring (no offence, men du forklarer det krøkkete).

Kan 4 deles på 2?

>>> 4 % 2
0

 

Kan 11 deles på 5?

>>> 11 % 5
1

 

Kan 20 deles på 10?

>>> 20 % 10
0

 

Er 101 et tall som kan deles på 4?

>>> 101 % 4
1

 

Kan 42 deles på 3.14?

>>> 42 % 3.14
1.1799999999999984

 

Er 42 et partall?

>>> 42 % 2
0

 

Var det litt lettere å forstå :)?

Endret av JuletreDuden
Lenke til kommentar

Det heter modulo, som betyr resten etter en helt-tall divisjon.

 

Du husker kanskje fra skolen at hvis du tok 3/2 så fikk du 1, men 1 i rest, og 11/4 = 2 med 3 i rest.

 

Fra dette kan man derfor si at 3%2=1, 11%4=3. Altså i stede for å få svaret på divisjonen, er du ute etter å få "resten", når det ikke går opp. Hvis divisjonen går akkurat opp, så blir den 0.

 

 

 

Skal prøve å få det litt lettere frem enn etse sin forklaring (no offence, men du forklarer det krøkkete).

Var det litt lettere å forstå :)?

 

Takk for svar begge to :)

 

Ja, det ble betraktelig klarere nå.

Den forklaringen jeg først ble gitt var heller kryptisk, derfor jeg ikke helt fikk taket på hva "%" egentlig gjorde.

Mattekunnskapene er det ingenting i veien med ;)

dermed kunne jeg jo se at jeg fikk rett svar tidligere, jeg forstod bare ikke helt hvordan/hvorfor.

Lenke til kommentar

Du kan og se på det med programmeringsøyne:

 

Ta f.eks. utrykket 17 % 4. For å regne ut hva dette er, finner du først hva svaret på 17 / 4 er, som blir 4 - men 4*4=16, og 17-16 = 1 - altså har man 1 i rest.

 

Modulo-regning handler ikke bare om noe kan deles på noe - men hva resten av delingen er.

Ta f.eks. følgende kode:

for x in range(10): 
   print x % 4

det vil gi følgende output:

0

1

2

3

0

1

2

3

0

1

 

--------------

 

Modulo er altså ikke noe magisk, du må bare huske tilbake til matematikken fra barneskolen når du først lærte å dele. Ta tok men utrykk og satte de opp, og regnet ut svaret samtidig som "resten". Og med modulo er det denne "resten" du er ute etter.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...