Liebe Community,
ich bin neu in der Python Programmierung und habe ein kleines Programm erstellt, das eine Bank imitieren soll. Leider funktioniert bei mir die switcher Anweisung irgendwie nicht, er geht egal welche Zahl ich drücke alle Methoden durch. Gerne auch andere Anregungen, wenn euch bei meinem Code was auffällt.
Schon mal Danke im Voraus
ich bin neu in der Python Programmierung und habe ein kleines Programm erstellt, das eine Bank imitieren soll. Leider funktioniert bei mir die switcher Anweisung irgendwie nicht, er geht egal welche Zahl ich drücke alle Methoden durch. Gerne auch andere Anregungen, wenn euch bei meinem Code was auffällt.
Code:
from account import Account
class Bank:
def __init__ (self, name):
self.__name = name
self.__cus = []
def getName(self):
return self.__name
def getCustomers(self):
return self.__cus
"""
Erstellt einen neuen Account
"""
def newAccount(self):
name = input("Name: ")
password = input("Password: ")
c = Account(name, password)
self.__cus.append(c)
return True
"""
Rückgabe ist der Platz in der Liste
"""
def isCus(self, name):
for c in range(len(self.__cus)):
if self.__cus[c] == name:
return c
return False
"""
Gibt den aktuellen Kontostand wieder
"""
def checkBalance(self, name, password):
cus = self.getCus(name, password)
if isinstance(cus, int):
return cus.getValue()
"""
Gibt den Kunden als Klasse zurück und Fals falls Passwort falsch oder Name nicht vorhanden
"""
def getCus(self, name, password):
if isinstance(self.isCus(name), int):
cus = self.__cus[self.isCus(name)]
if cus.isPasswordCorrect(password):
return self.__cus[self.isCus(name)]
return False
return False
#Einstiegspunkt <----
def quit():
exit = True
def deposit():
cus = bank.getCus(input("Youre name: "), input("Youre password: "))
cus.deposit(int(input("How much do you want to deposit? ")))
bank = Bank("Die Bank")
exit = False
print("Let's go!")
while exit == False:
eingabe = int(input("What do you want to do ? 0 Exit; 1 Add account; 2 View balance; 3 Deposit;\n"))
#switcher funktioniert nicht
switcher = {
0: quit(),
1: bank.newAccount(),
2: print(bank.checkBalance(input("Youre name: "), input("Youre password: "))),
3: deposit()
}
switcher.get(eingabe, "Error 1")
Code:
import uuid
class Account:
def __init__ (self, name, password, value=0):
self.__name = name
self.__value = value
self.__password = password
self.__ID = uuid.uuid1()
def getName(self):
return self.__name
def getValue(self):
return self.__value
def getID(self):
return self.__ID
def getPassword(self):
return self.__password
def withdraw(self, value):
if value < self.__value:
self.__value =- value
return True
else:
return False
def deposit(self, value):
if value <= 0:
return False
else:
self.__value =+ value
def __str__(self):
return "Dein Konto: " +self.__ID+ " -> " +self.__value
def isPasswordCorrect(self, inp):
if self.__password == inp:
return True
else:
return False
Schon mal Danke im Voraus