hallo hat jemand von euch vielleicht einen guten Temperaturumrechner mit Fenster und Radiobuttons und alles drum und dran??
vielen dank im vorraus
temperaturumrechner!!!
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...
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...
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?
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
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.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?
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.
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"
Ehm ich geh auf eine Schule und ich kenne die Regeln!pütone hat geschrieben:Wie kommst du denn zu der falschen Annahme? Nur weil du keinen kennst?sunny0303 hat geschrieben:... denn sowas gibt es nicht in schulen, dass man pythonprogramme zuhause schreiben muss
Man darf nur ein Python Programm zuende schreiben, es aber nicht von anfang an schreiben!!!
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
So, denk noch mal über diesen Satz nachsunny0303 hat geschrieben: Ehm ich geh auf eine Schule und ich kenne die Regeln!
...
ok, noch mal ein Hinweis:
...sunny0303 hat geschrieben: Ehm ich geh auf eine Schule und ich kenne die Regeln!
und noch einer
...
Nun klar?sunny0303 hat geschrieben: Ehm ich geh auf eine Schule und ich kenne die (dortigen) Regeln!
SCNR
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.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!!!
Oder wie nennt ihr das an eurer Schule?
Wie bitte????sunny0303 hat geschrieben:Man darf nur ein Python Programm zuende schreiben, es aber nicht von anfang an schreiben!!!
(Ich kenne reichlich seltsame Lehrkräfte, also ist das auch nicht ganz auszuschließen ... ist aber doch extrem seltsam formuliert.)
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
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.CM hat geschrieben:Wie bitte????sunny0303 hat geschrieben:Man darf nur ein Python Programm zuende schreiben, es aber nicht von anfang an schreiben!!!
(Ich kenne reichlich seltsame Lehrkräfte, also ist das auch nicht ganz auszuschließen ... ist aber doch extrem seltsam formuliert.)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Naja, beim durchschnittlichen Niveau der hier zu findenden Schüler-Postings sollte man letzteres wohl ausschließen können. Hoffentlich.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.
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.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Du hast schon recht und ich will das auch gar nicht in Schutz nehmen, denn ich finde es genauso blödsinnig wie CM aber der Lehrer kann sich ja gedacht haben dass wenn er den Anfang vorgibt, die Schüler sich das Programm nicht aus dem Internet irgendwoher kopieren können.pütone hat geschrieben:Naja, beim durchschnittlichen Niveau der hier zu findenden Schüler-Postings sollte man letzteres wohl ausschließen können. Hoffentlich.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.
Natürlich, wenn der Schüler sich schlau anstellt, kopiert er sich das Programm trotzdem und arbeitet es so um, dass es in die vorgegebene Anfangslösung passt. Das wiederrum finde ich gar nicht einmal so schlimm, es zeigt ja dass der Schüler sich mit dem Problem befasst hat und wenn das Programm funktioniert hat der Schüler dabei zweifellos was gelernt. Vielleicht hat er das Lösungsverfahren nicht ausgedacht, aber er hat sich mit dem Problem beschäftigt und eine funktionierende Lösung hinbekommen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice