Skip to content

Instantly share code, notes, and snippets.

@vbe0201
Last active June 21, 2024 15:06
Show Gist options
  • Save vbe0201/a00f186c8914e539f18a6de1375c52f3 to your computer and use it in GitHub Desktop.
Save vbe0201/a00f186c8914e539f18a6de1375c52f3 to your computer and use it in GitHub Desktop.
A shit calculator written in Python.
"""
Ein Taschenrechner in Python, welcher wichtige Grundlagen dieser Sprache praktisch angewandt aufzeigen soll.
(c) Vale 2018
https://twitch.tv/itsvaleee
Entstanden in einem Python-Tutorial für Neueinsteiger in diese Sprache.
"""
# Wir erstellen eine Klasse Calculator, in welcher alles anhand von 2 Zahlen ausgerechnet wird.
class Calculator:
def __init__(self, first_num, sec_num):
self.first_num = first_num
self.sec_num = sec_num
def sum(self):
return self.first_num + self.sec_num
def subtraction(self):
return self.first_num - self.sec_num
def multiplication(self):
return self.first_num * self.sec_num
def division(self):
return self.first_num / self.sec_num
def run():
# Wir versuchen, Eingaben vom User zu erhalten. Sind diese ungültig, starten wir den Taschenrechner neu.
try:
first_num = int(input("Gib bitte die erste Zahl ein: "))
operator = input("Gib bitte ein Rechenzeichen ein (+, -, *, /): ")
sec_num = int(input("Gib bitte die zweite Zahl ein: "))
except ValueError:
print("Bitte gib gültige Zahlen an!")
return run()
# Wir erstellen eine neue Instanz der Klasse Taschenrechner mit unseren Eingaben.
calc = Calculator(first_num, sec_num)
# Prüfe, welche Rechenart vorliegt und berechne und printe dementsprechend das Ergebnis.
if operator == "+":
print(calc.sum())
elif operator == "-":
print(calc.subtraction())
elif operator == "*":
print(calc.multiplication())
elif operator == "/":
# Bei der Division dürfen wir nicht durch 0 teilen!
if sec_num == 0:
print("Du darfst nicht durch 0 teilen!")
return run()
print(calc.division())
else:
print("Bitte gib ein gültiges Rechenzeichen an!")
# Wir starten unseren Taschenrechner am Ende nochmal neu.
run()
# Wir rufen als erstes die Funktion run auf, um den Taschenrechner zu starten
run()
@Zarkofir
Copy link

first_num = float(input("Gib bitte die erste Zahl ein: "))
sec_num = float(input("Gib bitte die zweite Zahl ein: "))
macht mehr Sinn

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment