Skip to content

Instantly share code, notes, and snippets.

@nikodemusk
Last active September 6, 2020 10:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nikodemusk/c9c2ecf1edbb57f9df7eb5ba35c6611f to your computer and use it in GitHub Desktop.
Save nikodemusk/c9c2ecf1edbb57f9df7eb5ba35c6611f to your computer and use it in GitHub Desktop.
Kodskelett till en kalkylator i Python
# Detta är ett kodskelett till en kalkylator för
# addition, subtraktion och multiplikation. Användaren
# ska ange två tal och operator (räknesätt), varpå
# programmet skriver ut resultatet av operationen.
#
# Val av operator är "inmatningssäkert" i loopskelettet,
# dvs programmet kraschar inte om ett odefinierat
# alternativ anges. Däremot finns ingenting i kodskelettet
# som kontrollerar att det är riktiga tal som matas in.
# Om du vill utöka programmet med sådan kontroll finns
# exempelkod för detta t ex på
# https://gist.github.com/nikodemusk/776ced15d005b2c882d10d78daff74d1
#
# ---------------------------------------
# De båda funktionerna läsTal1() och läsTal2()
# nedan skiljer sig åt enbart med sin ledtext
# till användaren. Om en och samma ledtext
# accepteras så räcker det med en enda funktion.
# Funktion som läser in första talet
# Argument: inget.
# Returvärde: Det inlästa talet
def läsTal1():
# Definiera funktionen och
# returnera det inlästa talet
# Funktion som läser in andra talet
# Argument: inget.
# Returvärde: Det inlästa talet
def läsTal2():
# Implementera funktionen och
# returnera det inlästa talet
# ---------------------------------------
# Funktion som adderar två tal
# Argument: de båda talen
# Returvärde: Summan
def adderare(tal1, tal2):
# Implementera funktionen och
# returnera summan
# Funktion som subtraherar två tal
# Argument: de båda talen
# Returvärde: differensen
def subtraherare(tal1, tal2):
# Implementera funktionen och
# returnera dífferensen
# Funktion som multiplicerar två tal
# Argument: de båda talen
# Returvärde: produkten
def multiplicerare(tal1, tal2):
# Implementera funktionen och
# returnera produkten
# ---------------------------------------
# Här sker körningen av huvudprogrammet
# Argument: inget
# Returvärde: inget
def main():
operator = '' # Variabeln måste deklareras innan den används nedan
while operator != 'q':
# Då """dessa citationstecken""" används så kan strängen innehålla radbrytningar
operator = input("""Ange räknesätt vill du använda (q avslutar)
(a)ddition (s)ubtraktion (m)ultiplikation
-> """)
# Om addition väljs
if operator == 'a':
# Anropa lämpliga funktioner här
# Om subtraktion väljs
elif operator == 's':
# Anropa lämpliga funktioner här
# Om multiplikation väljs
elif operator == 'm':
# Anropa lämpliga funktioner här
# Om avluta väljs
elif operator == 'q':
break # Går ur loopen och återvänder till
# raden efter main() anropades.
# Om något icke-definierat val görs
# så fångas det upp av else-satsen
else:
print("Alternativet saknas, försök igen")
# Här lämnas if-satsen och programmet går ut
# till nivån närmast "ovanför" denna, dvs
# loopen där val görs.
# Här börjar programmets körning
# ---------------------------------------
main()
# När det avslutas normalt kommer det hit
print("Programmet avslutades normalt")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment