ÖVNINGSUPPGIFT

Uppgift 3 - Beräkna slutbetyget

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


Vi använder här en påhittad betygsskala för att öva gränsvärden. Den beskriver inte dagens svenska betygssystem.

Nyckelord: if-satsen, input

Beräkna betyget på ett prov med if-satser i Python

Du ska i denna uppgift hjälpa en lärare att skriva ett program som avgör vilket betyg en elev får på ett prov. Läraren har följande gränser:

  • Om antal rätt på provet är över eller lika med 90% får eleven betyg MVG.
  • Om antal rätt på provet är över eller lika med 70% och under 90% får eleven betyg VG.
  • Om antal rätt på provet är över eller lika med 50% och under 70% får eleven betyg  G.
  • Om antal rätt på provet är under 50%  får eleven betyg U.

Programmera ett program som tar in ett värde från användaren mellan 0 och 100. Om något annat värde anges så ska programmet varna.

I denna uppgift kan du anta att användaren alltid anger ett heltal som input.

Ledtråd

När man använder sig av input blir alltid datatypen en string (textsträng). Denna måste formateras till en int (heltal) för att vi ska kunna göra matematiska beräkningar med den.

Exempel:

print(int("10"))

Skriver ut:

10

Lösning
points = int(input("Ange poäng på provet: "))

# Kontrollera inmatning
if points < 0 or points > 100:
    print("Felaktig inmatning")

# Beräkna betyg
elif points >= 90:
    print(f"Resultatet i procent var: {points}, vilket motsvarar MVG!")
elif points >= 70:
    print(f"Resultatet i procent var: {points}, vilket motsvarar VG!")
elif points >= 50:
    print(f"Resultatet i procent var: {points}, vilket motsvarar G!")
else:
    print(f"Resultatet i procent var: {points}, vilket motsvarar U!")

Först tar vi in en input från användaren och formaterar om den till ett heltal int(). Vi kontrollerar sedan att inmatningen inte är mindre än 0 och inte heller större än 100. Vi använder sedan if-satser för att täcka de olika gränserna. Notera >= på gränserna. Testa ange inmatningarna 50, 70 och 90 för att se att du gjort rätt!