Nyckelord: for-loop, while-loop

Programmera en geometrisk serie i Python
I denna uppgift ska vi beräkna summan av en geometrisk serie. Betrakta följande geometriska serie:
1/2 + 1/4 + 1/8 + 1/16 + 1/32 + ...
Vid första anblick är det enkelt att tro att summan fortsätter växa i all oändlighet allt eftersom man adderar termer. Men summan går faktiskt mot ett gränsvärde. Skriv ett program som summerar ett godtyckligt antal termer i serien och skriv ut vilket tal som seriens summa går mot. Programmet ska fråga användaren hur många termer summan ska innehålla.
Ledtråd
Den geometriska serien 1/2 + 1/4 + 1/8 + 1/16 + 1/32 + … kan skrivas om till:

Vi kan självklart inte använda oändligheten i vår summa. Men pröva att ta såväl stora som små tal och se om resultatet skiljer sig åt. Läs följande artikel för härledning av formeln. Använd en loop för att skapa serien av termer och summera därefter dessa.
Använd funktionen input() för att ta emot ett värde från användaren.
Lösning
import math
# Ange basvariabler
sum = 0
base = 0.5
# Fråga användaren om antal termer som ska användas i serien
number = int(input("Ange antal termer i serien: "))
if number < 0:
raise ValueError("Antalet termer får inte vara negativt")
n = 0
while (n < number):
sum += base * math.pow(base, n)
n += 1
print(f"Den geometriska summan går mot: {sum}")
Förklaring
Detta är en konvergent geometrisk serie med kvoten 1/2. Efter n termer är summan 1 − (1/2) ** n. Summan närmar sig gränsvärdet 1.