Input einer variable mit integrierter variable öfters verwenden

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Wired1.0.
User
Beiträge: 31
Registriert: Montag 23. Januar 2023, 20:25

Code: Alles auswählen

Name_one =Klaus 
 Name_two = Dieter 
 Name_three = Hans
 
Name = input("Wer holt den Ball? Wähle eine Option)
    if Name ==1:
        Money= int(input(name_one, " holt den ball.  
                        Was bekommt er dafür?"))
    if name==2:
        int(input(name_two, " holt den ball.  
                        Was bekommt er dafür?"))
        
        #...........................
Hey der code ergibt nicht viel sinn(habe ihn nur eben beispielsweise eingetippt)
Meine Frage: Kommt man irgendwie drum herum jetzt 3x das gleiche abzutippen? Ich würde das mit einer schleife machen, habe aber absolut keine Ahnung wie man zB Money mit unterschiedlich integrierten Variablen wiedergeben kann.
Ich hoffe ihr versteht mein Problem.
Benutzeravatar
darktrym
User
Beiträge: 784
Registriert: Freitag 24. April 2009, 09:26

Liest sich so als suchst du eine Liste?
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
Benutzeravatar
__blackjack__
User
Beiträge: 13006
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Wired1.0.: Nicht viel Sinn okay, da kann man aber schon erkennen was erreicht werden soll, aber da sind einige Fehler drin die verhindern, dass das überhaupt gültiger Python-Quelltext ist. So ein bisschen Mühe könnte man sich ja schon geben.

Die Einrückung stimmt nicht, Zeichenketten werden nicht durch einen entsprechenden Begrenzer beendet, beziehungsweise werden mit falschen Begrenzern auf mehr als eine Zeile verteilt, oder es fehlen die Begrenzer gleich ganz.

Und wenn man die Syntaxfehler ausgebügelt hat, kommen offensichtliche Laufzeitfehler wie falsche Anzahl von Argumenten bei Funktionsaufrufen und die Verwendung von undefinierten Namen. Python unterscheidet zwischen Gross- und Kleinschreibung bei Namen.

Führt zu keinem Laufzeitfehler aber der Vergleich von einer Zeichenkette mit einer ganzen Zahl ergibt *immer* `False`, das heisst es wird nie eine Frage gestellt was derjenige, der den Ball holt, denn nun bekommt.

Dann die Konventionen. Namen werden in Python klein_mit_unterstrichen geschrieben. Ausnahmen sind Konstanten (KOMPLETT_GROSS) und Klassen (PascalCase).

Man nummeriert keine Namen. Dann will man sich entweder bessere Namen überlegen, oder gar keine Einzelnamen/-werte verwenden, sondern eine Datenstruktur. Oft eine Liste.

Auf Modulebene sollte nur Code stehen der Konstanten, Funktionen, und Klassen definiert. Das Hauptprogramm steht üblicherweise in einer Funktion die `main()` heisst.

Code: Alles auswählen

#!/usr/bin/env python3


def main():
    names = ["Klaus", "Dieter", "Hans"]
    #
    # TODO Behandlung von Fehleingaben, also keine Zahl und Zahl ausserhalb von
    # 1 bis ``len(names)``.
    #
    choice = int(input("Wer holt den Ball? Wähle eine Option: "))
    #
    # TODO Behandlung von Fehleingaben, also keine Zahl und eventuell auch
    # negative (und 0?) ausschliessen.
    #
    money = int(
        input(f"{names[choice - 1]} holt den Ball. Was bekommt er dafür?")
    )
    ...


if __name__ == "__main__":
    main()
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Antworten