Ergebnis 1 bis 11 von 11
  1. #1
    Gamer & Drummer Avatar von vin97
    Registriert seit
    Dec 2008
    Ort
    DE, Trier
    Beiträge
    482

    Question [GELÖST] [Python] Zwei Fragen

    Hallo und frohe Weihnachten!

    Ich schreibe gerade ein kleines Programm in Python 3.1.2 und habe zwei (kleine) Fragen.

    1 Wie kann man kontrollieren, ob ein Wert ein Integer ist, um ggf. eine (eigene) Fehlermeldung auszugeben?
    2 Wie kann man bei einer Konvertierung eines Wertes zu einem Integer Python dazu bringen, den Wert immer (zur nächsten ganzen Zahl) aufzurunden?

    MfG ... Vin!
    Geändert von vin97 (12. 01. 2012 um 16:16 Uhr)

  2. #2

  3. #3
    hat Spaß dran... Avatar von 12345z
    Registriert seit
    Aug 2007
    Beiträge
    1.804

    Standard Re: [Python] Zwei Fragen

    In Python checkt man normalerweise nicht, ob eine Variable vom einem bestimmten Typ ist.
    Falls du das wirklich musst, liegt an anderer Stelle ein Designfehler vor - in beinahe allen Fällen lässt sich dieses Typgeprüfe vermeiden.

  4. #4
    Gamer & Drummer

    (Threadstarter)

    Avatar von vin97
    Registriert seit
    Dec 2008
    Ort
    DE, Trier
    Beiträge
    482

    Standard Re: [Python] Zwei Fragen

    In meinem Fall lässt sich so eine Überprüfung zwar vermeiden, ich würde aber lieber meine eigene Fehlermeldung anzeigen lassen als diese unschönen Python Meldungen!

  5. #5
    hat Spaß dran... Avatar von 12345z
    Registriert seit
    Aug 2007
    Beiträge
    1.804

    Standard Re: [Python] Zwei Fragen

    Code:
    try:
        3 + "x"
    except TypeError:
        print "Meine Fehlermeldung"

  6. #6
    Gamer & Drummer

    (Threadstarter)

    Avatar von vin97
    Registriert seit
    Dec 2008
    Ort
    DE, Trier
    Beiträge
    482

    Standard Re: [Python] Zwei Fragen

    Danke.
    Tut mir Leid, dass ich mich noch nicht so gut in Python auskenne. Deshalb kannst du dir das Smiley sparen. Ich verweise nur auf deine Signatur!

  7. #7
    hat Spaß dran... Avatar von 12345z
    Registriert seit
    Aug 2007
    Beiträge
    1.804

    Standard Re: [Python] Zwei Fragen

    Nicht gleich angegriffen fühlen - ich finde, der Smiley hat was positives.
    Hätte ich dich blöd anmachen wollen, wäre, wenn überhaupt, dieser Smiley unter dem Code gewesen:

  8. #8
    Gamer & Drummer

    (Threadstarter)

    Avatar von vin97
    Registriert seit
    Dec 2008
    Ort
    DE, Trier
    Beiträge
    482

    Standard Re: [Python] Zwei Fragen

    Dann hab ich das falsch verstanden.

    Es ist so...
    Code:
    x=input("Wert: ")
    Wie kann ich jetzt testen, ob x ein Integer ist, um ggf. eine Fehlermeldung auszugeben. Falls x ein Integer ist, soll natürlich mit x weiter gerechnet werden.
    Die vorgeschlagenen Methoden klappen nämlich nicht.
    Geändert von vin97 (25. 12. 2011 um 03:12 Uhr)

  9. #9
    Gamer & Drummer

    (Threadstarter)

    Avatar von vin97
    Registriert seit
    Dec 2008
    Ort
    DE, Trier
    Beiträge
    482

    Standard Re: [Python] Zwei Fragen

    Hat sich jetzt alles erledigt, ich habs selbst hingekriegt.

  10. #10
    #-e^(i*pi) Avatar von toredo
    Registriert seit
    Sep 2006
    Beiträge
    802

    Standard Re: [CLOSE] [Python] Zwei Fragen

    Könntest du noch die Lösung posten?

    Es ist zwar nicht anzunehmen, dass jemand hier im Board die Suchfunktion verwendet (zumindest niemand, der das Problem hat), aber vielleicht findet jemand deine Lösung über Google.

    mfG

  11. #11
    Gamer & Drummer

    (Threadstarter)

    Avatar von vin97
    Registriert seit
    Dec 2008
    Ort
    DE, Trier
    Beiträge
    482

    Standard Re: [CLOSE] [Python] Zwei Fragen

    Klar, kein Problem...

    Hiermit kann man testen, ob ein Input ein Integer ist oder nicht, um dann eine eigene Meldung auszugeben:
    Code:
    r=1
    while (r==1):
       x=input("Bitte etwas eingeben: ")
       try:
          y=int(x)
       except ValueError:
          print("Input ist kein Integer!")
          break
       print("Input ist ein Integer!")
       break
    Und hiermit lässt sich ein Float zum nächsten Integer aufrunden:
    Code:
    x=float(input("Bitte einen Float eingeben: "))
    y=int(x)
    if (x>y):
       y=y+1
    print("Aufgerundeter Input:"y)
    Geändert von vin97 (27. 12. 2011 um 19:59 Uhr)

  12.  
     
     

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •