vendredi 21 février 2020

Is there a way such that I can write this code more efficiently? [duplicate]

Guys any idea how this code could be written to use more sophisticated and less lines? Especially the body part where the instructions are being executed seem to be very redundant.

Thanks in advance.

 z = """Wählen Sie eine der folgenden vorgegebenen Operationen: (add/subtract/multiply/divide/end/history)
    """
    a = "Erste Zahl: "
    b = "Zweite Zahl: "
    ops = ["add","subtract","multiply","divide"]
    list = []
    answer = input(z)

    def add(x,y):
        return x+y
    def sub(x,y):
        return x-y
    def mult(x,y):
        return x*y
    def div(x,y):
        return x/y

    while answer in ops:
        if answer == "add":
            print("Resultat: ",add(int(input(a)),int(input(b))))
            list.append(answer)
            answer = input(z)
        elif answer == "subtract":
            print("Resultat: ",sub(int(input(a)),int(input(b))))
            list.append(answer)
            answer = input(z)
        elif answer == "multiply":
            print("Resultat: ",mult(int(input(a)),int(input(b))))
            list.append(answer)
            answer = input(z)
        elif answer == "divide":
            print("Resultat: ",div(int(input(a)),int(input(b))))
            list.append(answer)
            answer = input(z)

    if answer == "history":
        print(list)
        answer = input(z)

    elif answer == "end":
        print("Das Programm wird beendet.")

    else:
        print("""Geben Sie bitte eine gültige Eingabe ein.""")
        answer = input(z)

Best, Gianluca

Aucun commentaire:

Enregistrer un commentaire