Py Wirtschaft Programm?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Die Verschachtelungen deiner If-Abfrage ist falsch, bzw. die Einrückung.

Bild zum Beitrag

dein elif und dein else stehen nicht in einer Linie mit dem if. Rücke das elif und else etwas mehr ein, sodass es in einer Linie mit dem if steht, dann klappt es.

 - (Code, Python, Programmiersprache)
Hemo20 
Fragesteller
 02.04.2024, 21:27

Danke! War der Code ansonsten ok?

0
Hemo20 
Fragesteller
 03.04.2024, 13:57
@Slevi89

Oh ja kenne ich aus js ich wusste nicht das das so geht danke

1

Indent und Unindent

Python arbeitet gerne mit Einrückungen statt Klammern, damit Blöcke gebildet werden. Und dass deine Einrückungen nicht stimmen, sagen die Fehlermeldungen.

Und dieses "Conditional Monster" könntest du vllt umschreiben. Das ist selten, aber unschön :)

Woher ich das weiß:Berufserfahrung
Hemo20 
Fragesteller
 02.04.2024, 21:25

und wie geht das?

0
cleanercode  04.04.2024, 15:57
@Hemo20

Ist etwas bearbeitet. Ich hoffe, es ist verständlich(er) :)

import random

immogeldg = 0
geld_insgesamt = 0
geld_verdient = 0
jn = "nein"
immo = 0
immogeld = 0

print("Commands")
print("/work  Du bekommst geld.")
print("/score Du siehst wie viel geld du besitzt.")
print("/buy   Du kaufst Immobilien.")

while True:
    com = input("-> ")

    match com:
        case "/work":
            geld_verdient = random.randint(500, 5000)
            geld_insgesamt = geld_insgesamt + geld_verdient
            print(f'Du hast {geld_verdient} € verdient!')
            print(f"Du hast insgesamt {geld_insgesamt}€")

        case "/score":
            print(f"Du besitzt {geld_insgesamt}€")
            print(f"Du besitzt {immo} Immobilien im wer von {immogeldg}€")

        case "/buy":
            immogeld = random.randint(2000, 15000)
            jn = input(f"Möchtest du die Immobilie für {immogeld} kaufen? j/n")

            if "ja" in jn:
                if geld_insgesamt < immogeld:
                    print(f"Du hast nur {geld_insgesamt}€, die Immobilie kostet {immogeld}.")
                    print("Verdiene Geld mit /work")
                else:
                    geld_insgesamt -= immogeld
                    print(f"Du hast eine Immobilie für {immogeld} gekauft du besitzt noch {geld_insgesamt}€")
                    immo = immo + 1
                    immogeldg = immogeldg + immogeld
            else:
                print("Kauf abgebrochen!")
        case _:
            print("Diesen Befehl kenne ich nicht.")
1