Datentyp abgleichen und in Schleife einbinden

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.
__deets__
User
Beiträge: 6386
Registriert: Mittwoch 14. Oktober 2015, 14:29

Sonntag 15. September 2019, 10:37

Ja. Wenn du einen String an Print übergeben kannst, kannst du das auch an deine eigene Funktion. Die muss den Parameter natürlich deklarieren, und dann benutzen.
Benutzeravatar
ThomasL
User
Beiträge: 771
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

Sonntag 15. September 2019, 11:28

eventuell so

Code: Alles auswählen

def typabfrage(inp_msg, error_msg):
    while True:
        try:
            wert = float(input(inp_msg))
            break
        except ValueError:
            print(error_msg)
    return wert

typabfrage("Wert angeben: ", "Falsche Eingabe !")
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Sirius3
User
Beiträge: 10548
Registriert: Sonntag 21. Oktober 2012, 17:20

Sonntag 15. September 2019, 15:35

Dabei fragst Du gar keinen Typ ab, sondern eine Zahl.

Code: Alles auswählen

def zahl_abfragen(text):
    while True:
        try:
            return float(input(text))
        except ValueError:
            print("Falsche Eingabe !")

verbrauch = zahl_abfragen("Bitte Vebrauch angeben !")
Benutzeravatar
__blackjack__
User
Beiträge: 4192
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Sonntag 15. September 2019, 17:14

Man könnte das dann auch noch in `positive_zahl_abfragen()` umbenennen und entsprechenden Code zum Testen hinzufügen. Denn bei keiner der abgefragten Grössen ist es sinnvoll negative Werte einzugeben. Benutzer machen so etwas aber.

Eine gültige Eingabe für die Kilometeranzahl wäre auch 0 — damit sollte dann die Berechnung aber auch klar kommen!
“Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life.”
— Terry Pratchett, Jingo
Antworten