temperaturumrechner!!!

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.
sunny0303
User
Beiträge: 5
Registriert: Freitag 6. Juni 2008, 15:55

Freitag 6. Juni 2008, 16:09

hallo hat jemand von euch vielleicht einen guten Temperaturumrechner mit Fenster und Radiobuttons und alles drum und dran??
vielen dank im vorraus
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Freitag 6. Juni 2008, 16:32

Mach deine Hausaufgaben selbst!
lunar

Freitag 6. Juni 2008, 18:34

Was audax damit sagen will, ist, dass wir hier niemandem fertige Programme präsentieren, die "nach Hausaufgabe" aussehen.

Wir helfen dir nur dabei, Fehler selbst zu finden. Wenn du also Code zeigst, dann helfen wir dir dabei, Fehler zu finden, aber keiner wird dir hier sowas vorprogrammieren.

Nach dem, was du im anderen Thread gezeigt hast, solltest du aber erstmal die Grundlagen lernen...
sunny0303
User
Beiträge: 5
Registriert: Freitag 6. Juni 2008, 15:55

Freitag 13. Juni 2008, 19:32

Das sind keine Hausaufgaben, erstmal nur so nebenbei denn sowas gibt es nicht in schulen, dass man pythonprogramme zuhause schreiben muss :? und ich werde demnächst den code reinstellen :!:
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Freitag 13. Juni 2008, 20:00

sunny0303 hat geschrieben:... denn sowas gibt es nicht in schulen, dass man pythonprogramme zuhause schreiben muss
Wie kommst du denn zu der falschen Annahme? Nur weil du keinen kennst?
Janux
User
Beiträge: 78
Registriert: Donnerstag 12. Juni 2008, 21:11

Freitag 13. Juni 2008, 23:02

Ich hoffe, dass es kein Fauxpas ist wenn ich ihm (oder ihr :?) ein Teil von dem Code
schreibe ^^ Die Aufgabe hat mich angesprungen und da musste ich
sie lösen :)

Nur ein Problem habe ich bekommen. Es werden in einigen Zeilen 'tuple'
gebildet anstatt die Gleichung zu lösen. Was habe ich an der Stelle falsch
gemacht?

Code: Alles auswählen

# -*- coding: cp1252 -*-

while True:

    print "'f' für °F"
    print "'c' für °C"
    print "'k' für Kelvin"
    print
    
    a = raw_input("Geben Sie den Typ der Ursprungstemperatur an: ")
    x = input("Wert der Ursprungstemperatur: ")
    
    print
    
    b = raw_input("Geben Sie den gewünschten Typ an: ")

    print
    if not (a or x or b):
        break
    if a == b:
        print "Bitte wählen Sie unterschiedliche Typen aus!"
    elif a == "f" and b == "c":
        z = (x-32)*5.0/9                    # Umrechnung funktioniert
        print x,"°F = ",round(z,2), "°C"
        print
    elif a == "f" and b == "k":
        z = (x + 459,67)/1,8                # z wird zu einem 'tuple'
        print x,"°F =",round(z,2), "K"
        print
    elif a == "c" and b == "f":
        z = x * 1,8 + 32                    # z wird zu einem 'tuple'
        print x,"°C =",z, "°F"
        print
    elif a == "c" and b == "k":
        z = x + 273,15                      # z wird zu einem 'tuple'
        print x,"°C =",z,"K"
        print
    elif a == "k" and b == "c":
        z = x - 273,15                      # z wird zu einem 'tuple'
        print x,"K =",z,"°C"
        print
    elif a == "k" and b == "f":
        z = x * 1,8 - 459,67                # z wird zu einem 'tuple'
        print x,"K =",round(z,2),"°F"
        print


EyDu
User
Beiträge: 4871
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Freitag 13. Juni 2008, 23:23

Janux hat geschrieben:Nur ein Problem habe ich bekommen. Es werden in einigen Zeilen 'tuple'
gebildet anstatt die Gleichung zu lösen. Was habe ich an der Stelle falsch
gemacht?
Das Dir das bisher noch nicht aufgefallen ist :) Kommazahlen schreibt man in Python mit einem Punkt und nicht mit einem Komma. Also "0.5" und nicht "0,5". Das sollte dein Problem beheben.

Und "input" ist eine ganz schlecht Idee, wie hier überall im Forum zu lesen ist. Verwende besser "int(raw_input(...))" oder "float(raw_input(...))" oder was auch sonst immer du für einen Typ brauchst.
EyDu
User
Beiträge: 4871
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Freitag 13. Juni 2008, 23:48

Man kann natürlich aussnutzen, dass es alles affine Transformationen sind:

Code: Alles auswählen

import string

while True: 
    print "'f' für °F" 
    print "'c' für °C" 
    print "'k' für Kelvin" 
    print
    a = raw_input("Geben Sie den Typ der Ursprungstemperatur an: ")
    b = raw_input("Geben Sie den gewünschten Typ an: ")
    x = raw_input("Wert der Ursprungstemperatur: ")
    print
    
    temp = {"fc":(5.0/9.0, -160.0/9.0),
            "fk":(1.0/1.8, 459.67/1.8),
            "cf":(1.8, 32.0),
            "ck":(1.0, 273.15),
            "kc":(1.0, -273.15),
            "kf":(1.8, -459.67)}
    
    try:
        if "" in (a, b, x):
            break
        else:
            a, b = a.lower(), b.lower()
            x = float(x)
            factor, offset = temp[a+b]
            z = factor*x + offset
            print "%.2f°%s = %.2f°%s" % (x, a.upper(), z, b.upper())
    except (KeyError, ValueError):
        print "Ungueltige Eingabe"
Janux
User
Beiträge: 78
Registriert: Donnerstag 12. Juni 2008, 21:11

Sonntag 15. Juni 2008, 11:19

Danke für die Tipps. Deine Variante versteh ich leider nicht.
Ich werd sie mir mal speichern und nochmal anschauen wenn
ich mein Python-Buch durchgelesen habe.
sunny0303
User
Beiträge: 5
Registriert: Freitag 6. Juni 2008, 15:55

Mittwoch 18. Juni 2008, 16:06

pütone hat geschrieben:
sunny0303 hat geschrieben:... denn sowas gibt es nicht in schulen, dass man pythonprogramme zuhause schreiben muss
Wie kommst du denn zu der falschen Annahme? Nur weil du keinen kennst?
Ehm ich geh auf eine Schule und ich kenne die Regeln!
Man darf nur ein Python Programm zuende schreiben, es aber nicht von anfang an schreiben!!!
Benutzeravatar
Hyperion
Moderator
Beiträge: 7472
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Mittwoch 18. Juni 2008, 16:12

sunny0303 hat geschrieben: Ehm ich geh auf eine Schule und ich kenne die Regeln!
So, denk noch mal über diesen Satz nach ;-)

...

ok, noch mal ein Hinweis:
sunny0303 hat geschrieben: Ehm ich geh auf eine Schule und ich kenne die Regeln!
...

und noch einer

...
sunny0303 hat geschrieben: Ehm ich geh auf eine Schule und ich kenne die (dortigen) Regeln!
Nun klar?

SCNR
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Mittwoch 18. Juni 2008, 16:23

sunny0303 hat geschrieben:Ehm ich geh auf eine Schule und ich kenne die Regeln!
Man darf nur ein Python Programm zuende schreiben, es aber nicht von anfang an schreiben!!!
Und selbst bei der für deinen Kurs und deinen Lehrer geltenden Regel wäre es doch wohl per definitionem eine "Hausaufgabe", wenn du ein Programm, das du in der Schule angefangen hast, zu Hause zu Ende schreiben sollst.
Oder wie nennt ihr das an eurer Schule?
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Mittwoch 18. Juni 2008, 16:27

sunny0303 hat geschrieben:Man darf nur ein Python Programm zuende schreiben, es aber nicht von anfang an schreiben!!!
Wie bitte????
(Ich kenne reichlich seltsame Lehrkräfte, also ist das auch nicht ganz auszuschließen ... ist aber doch extrem seltsam formuliert.)
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Mittwoch 18. Juni 2008, 21:38

CM hat geschrieben:
sunny0303 hat geschrieben:Man darf nur ein Python Programm zuende schreiben, es aber nicht von anfang an schreiben!!!
Wie bitte????
(Ich kenne reichlich seltsame Lehrkräfte, also ist das auch nicht ganz auszuschließen ... ist aber doch extrem seltsam formuliert.)
So kann man es sich doch auch einfach machen. Wenn man 70% der Lösung vorgibt, haben die Schüler wenig Chancen Programme zu schreiben die man selbst nicht versteht. 8)
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Mittwoch 18. Juni 2008, 22:03

Leonidas hat geschrieben:So kann man es sich doch auch einfach machen. Wenn man 70% der Lösung vorgibt, haben die Schüler wenig Chancen Programme zu schreiben die man selbst nicht versteht. 8)
Naja, beim durchschnittlichen Niveau der hier zu findenden Schüler-Postings sollte man letzteres wohl ausschließen können. Hoffentlich.

Andererseits kann man zahlreichen Threads hier im Forum entnehmen, dass es auf jeden Fall Schüler gibt, die es schaffen, Programme zu schreiben, die sie selbst nicht verstehn. :D
Antworten