| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- #Import
- import math
- #Funktionen der Rechenoperationen
- def add(a, b):
- return int(a) + int(b)
- def substract1(a, b):
- return int(a) - int(b)
- def substract2(a, b):
- return int(b) - int(a)
- def multiply(a, b):
- result = 0
- for i in range(int(b)):
- result = add(result, a)
- return result
- def divide(a, b):
- return int(a) / int(b)
- def modulo(a, b):
- return int(a) % int(b)
- def exponation(a,b):
- return int(a) ** int(b)
- def falcutaet(n: int) -> int:
- if n == 1:
- return 1
- else:
- return falcutaet(n-1)*n
- #Hauptfunktion des Rechners
- def rechner():
- operation = input("Gib die Rechenoperation an (Addition(+), Subtraktion(-), Multiplikation(*), Division(/), Modulo(%), Potenzieren(**), Fakultaet(!)): ") #Variabelen definieren
-
- #Abfangen von ungültigen Eingaben
- while True:
- a = input("a 1 = ")
- if a.isdigit():
- break
- else:
- print("Ungültige Eingabe. Bitte erneut eingeben.")
- while True:
- if operation == "!":
- b = 0
- break
- b = input("a 2 = ")
- if b.isdigit():
- break
- else:
- print("Ungültige Eingabe. Bitte erneut eingeben.")
- result = 0
- a = float(a)
- b = float(b)
- #Auswahl und durchführung der Rechenoperation
- if operation not in ["+", "-", "*", "/", "%", "**", "!"]:
- print("Ungültige Rechenoperation. Bitte erneut eingeben.")
- operation = input("Gib die Rechenoperation an (Addition(+), Subtraktion(-), Multiplikation(*), Division(/), Modulo(%), Potenzieren(**), Fakultaet(!)): ")
- if operation == "+": #Addition
- result = add(a, b)
- print("Ergebnis: " + str(result))
- elif operation == "-": #Subtraktion
- if a > b:
- result = substract1(a, b)
- print("Ergebnis: " + str(result))
- else:
- result = substract2(a, b)
- print("Ergebnis: " + str(result))
- elif operation == "*": #Multiplikation
- result = multiply(a, b)
- print("Ergebnis: " + str(result))
- elif operation == "/": #Division
- if b == 0:
- print("Fehler: Division durch Null ist nicht erlaubt.")
- else:
- result = divide(a, b)
- print("Ergebnis: " + str(result))
- elif operation == "%": #Modulo
- if b == 0:
- print("Fehler: Division durch Null ist nicht erlaubt.")
- else:
- result = modulo(a, b)
- print("Ergebnis: " + str(result))
- elif operation == "**": #Exponation
- result = exponation(a, b)
- print("Ergebnis: " + str(result))
- elif operation == "!": #Fakultaet
- if a < 1:
- print("Fehler: Fakultaet ist nur für positive ganze aen definiert.")
- else:
- result = falcutaet(int(a))
- print("Ergebnis: " + str(result))
- #Hauptprogramm
- start = "j"
- while True:
- start = input("Möchten Sie den Rechner benutzen? (j/n) ")
- if start == "j":
- rechner()
- elif start == "n":
- print("Programm beendet.")
- break
- else:
- print("Ungültige Eingabe. Bitte 'j' oder 'n' eingeben.")
- start = "j"
|