Grundlæggende Aritmetik og Operatorpræcedens
Aritmetiske operatorer anvendes løbende i Python. Overvej de mest almindelige operatorer, og hvordan præcedens bestemmer evalueringsrækkefølgen.
Primære operationer
12345678a = 10 b = 3 print(a + b) # Addition print(a - b) # Subtraction print(a * b) # Multiplication print(a / b) # Division print(a ** b) # Exponentiation
Operatorprioritet
Når flere operatorer optræder, evaluerer Python dem i denne rækkefølge (højeste → laveste blandt aritmetiske):
**;- Unær
+og-(fortegn); *,/;+,-.
Parenteser har altid forrang og gør hensigten tydelig. Eksponentiering ** er højre-associativ.
123456789print(2 + 3 * 4) # 14 (multiplication before addition) print((2 + 3) * 4) # 20 (parentheses change the order) # Exponentiation binds tighter than unary minus print(-3 ** 2) # -9 (equivalent to -(3 ** 2)) print((-3) ** 2) # 9 # Right-associative exponentiation print(2 ** 3 ** 2) # 512 (2 ** (3 ** 2))
- Foretræk parenteser i alt, der ikke er trivielt, læsbarhed > snedighed.
- Husk at
/altid returnerer en float (selv hvis tallet går op).
1. Hvilken værdi vil denne kode udskrive?
2. Hvilket udtryk evalueres til 64?
3. Hvilken værdi vil denne kode udskrive?
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Can you explain what right-associative means for exponentiation?
Can you give more examples of operator precedence in Python?
What happens if I divide by zero in Python?
Awesome!
Completion rate improved to 3.45
Grundlæggende Aritmetik og Operatorpræcedens
Stryg for at vise menuen
Aritmetiske operatorer anvendes løbende i Python. Overvej de mest almindelige operatorer, og hvordan præcedens bestemmer evalueringsrækkefølgen.
Primære operationer
12345678a = 10 b = 3 print(a + b) # Addition print(a - b) # Subtraction print(a * b) # Multiplication print(a / b) # Division print(a ** b) # Exponentiation
Operatorprioritet
Når flere operatorer optræder, evaluerer Python dem i denne rækkefølge (højeste → laveste blandt aritmetiske):
**;- Unær
+og-(fortegn); *,/;+,-.
Parenteser har altid forrang og gør hensigten tydelig. Eksponentiering ** er højre-associativ.
123456789print(2 + 3 * 4) # 14 (multiplication before addition) print((2 + 3) * 4) # 20 (parentheses change the order) # Exponentiation binds tighter than unary minus print(-3 ** 2) # -9 (equivalent to -(3 ** 2)) print((-3) ** 2) # 9 # Right-associative exponentiation print(2 ** 3 ** 2) # 512 (2 ** (3 ** 2))
- Foretræk parenteser i alt, der ikke er trivielt, læsbarhed > snedighed.
- Husk at
/altid returnerer en float (selv hvis tallet går op).
1. Hvilken værdi vil denne kode udskrive?
2. Hvilket udtryk evalueres til 64?
3. Hvilken værdi vil denne kode udskrive?
Tak for dine kommentarer!