ÖVNINGSUPPGIFT

Uppgift 4 – Moduloräkning i Python

Försök själv först. Ledtrådar och facit finns längre ner – helt utan inloggning.


Nyckelord: Modulus, Datatyp

Moduloräkning i Python

I denna uppgift ska vi testa att utföra beräkningar med modulo. Modulus är “resten” av en division när ett tal har blivit dividerat med ett annat. I Python, anger man modulooperatorn med ett procenttecken (%).

I följande uppgift utgår vi från följande variabler:

a = 2
b = 6
c = 7

Utför modulus mellan två tal i Python

  • Börja med att utföra och skriva ut beräkningen c modulo a. Vad blir utskriften?
  • Fortsätt sedan att utföra och skriva ut beräkningen b modulo a. Vad blir utskriften?
  • Avslutningsvis, utför beräkningen c modulo c. Vad blir utskriften?

Jämnt eller udda tal med modulus

Hur kan man med modulus avgöra om ett heltal är jämnt eller udda?

Ledtråd

I Python använder man operatorn modulo med ett procenttecken (%). Exempelvis är 11 % 3 = 2 eftersom 11 / 3 = 3 med resten 2.

Lösning

Svar:

a = 2
b = 6
c = 7
print(c % a)
print(b % a)
print(c % c)

Utskriften blir:

1
0
0

Förklaring:  Modulo beräknar ut resten av en division. I Python anger man operatorn modulo med ett procenttecken (%). Man kan enkelt avgöra om ett tal är udda eller jämnt genom att utnyttja modulo-operatorn:

heltal % 2

Genom att ta heltalet modulo två, kan vi beroende på svaret veta om talet är udda eller jämnt. Om svaret är 0, vet vi att talet är jämnt delbart med två och således ett jämnt tal. Om svaret däremot är 1, så vet vi att talet inte är jämnt delbart med två och således ett udda tal. Exempelvis:

print(0 % 2)
print(1 % 2)
print(2 % 2)
print(3 % 2)
print(4 % 2)
print(5 % 2)
print(6 % 2)
print(7 % 2)
print(8 % 2)
print(9 % 2)
print(10 % 2)

ger utskriften:

0
1
0
1
0
1
0
1
0
1
0