Mein Programm will einfach nicht fujnktionieren

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.
Benutzeravatar
Doom
User
Beiträge: 39
Registriert: Donnerstag 2. September 2010, 15:14
Wohnort: Bonn
Kontaktdaten:

Mittwoch 8. September 2010, 10:09

Code: Alles auswählen

print ("Geben Sie die erste Kathetenlänge ein:")
z = input()
print ("Geben Sie die zweite Kathetenlänge ein:")
u = input()
o = z*z + u*u
i = o ** 0.5
print ("Die Diagonale hat folgende Länge:",i)
input()
Wie man sicherlich am Code sehen kann, bin ich ein blutiger Anfänger. Dieses Programm sollte eig die Diagonale ausrechnen.

In der Schule hatten wir folgenden Code (in Mathematik):
d = a^a + b^b
d^d = Wurzel von a^a + b^b
so ich habe das mal bei meinem Programm mit zwischenschritten gemacht. Doch iwie geht das nicht. ich weiß auch nicht wieso.

Habt ihr die Lösung?

Mit freundlichen Grüßen

Doom
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

Mittwoch 8. September 2010, 10:20

Wenn das Python 3 ist, musst du die Eingabe in den entsprechenden Typ umwandeln.

Code: Alles auswählen

float(input('>'))
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Mittwoch 8. September 2010, 11:09

Und du solltest dir gleich angewöhnen, für deine Bezeichner (Variablen) aussagekräftige Namen zu verwenden.
Benutzeravatar
Doom
User
Beiträge: 39
Registriert: Donnerstag 2. September 2010, 15:14
Wohnort: Bonn
Kontaktdaten:

Mittwoch 8. September 2010, 11:42

Ich danke euch, doch mit dem Unwandeln habe ich keine Idee was ich da machen muss mit dem Code. Ich habe gerademal 50 Seiten gelesen also mit dem Float kam dran. Ich weiß leider nicht, wie ich das machen soll =/

Mit freundlichen Grüßen

Doom
Benutzeravatar
noisefloor
User
Beiträge: 2763
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: Görgeshausen
Kontaktdaten:

Mittwoch 8. September 2010, 11:43

Hallo,

also unter Python 2.6 kommt das richtige Ergebnis raus. :-)

Gruß, noisefloor
Benutzeravatar
noisefloor
User
Beiträge: 2763
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: Görgeshausen
Kontaktdaten:

Mittwoch 8. September 2010, 11:44

Hallo,
Ich danke euch, doch mit dem Unwandeln habe ich keine Idee was ich da machen muss mit dem Code.
Na, halt genau so wie jbs es schreibt.

Gruß, noisefloor
Benutzeravatar
Doom
User
Beiträge: 39
Registriert: Donnerstag 2. September 2010, 15:14
Wohnort: Bonn
Kontaktdaten:

Mittwoch 8. September 2010, 11:45

Das freut mich zu hören :D
Ich muss sagen, das war ja jetzt nicht schwer.
Trotzdem danke! :) :) :) :) :) :) :) :) :)
Benutzeravatar
Doom
User
Beiträge: 39
Registriert: Donnerstag 2. September 2010, 15:14
Wohnort: Bonn
Kontaktdaten:

Mittwoch 8. September 2010, 11:46

Aber wo muss ich das einfügen?
alpha
User
Beiträge: 195
Registriert: Freitag 23. Mai 2003, 23:24
Wohnort: Ulm

Mittwoch 8. September 2010, 11:48

Code: Alles auswählen

z = float(input('>'))
u = float(input('>'))
dann musst du aber die letzte Zeile abändern

Code: Alles auswählen

print ("Die Diagonale hat folgende Länge: ",str(i))

sehe gerade.. ist ja kein + dazwischen.. also kein Zusammenhängen von Strings.. dann brauchst wohl doch
keine Typenwandlung

Gruß
alpha
Zuletzt geändert von alpha am Mittwoch 8. September 2010, 11:52, insgesamt 2-mal geändert.
Benutzeravatar
Doom
User
Beiträge: 39
Registriert: Donnerstag 2. September 2010, 15:14
Wohnort: Bonn
Kontaktdaten:

Mittwoch 8. September 2010, 11:49

Achso....... :|
Sorry wusste jetz nicht wie das gemeint war.
Wie gesagt bin halt ein blutiger Anfänger



Danke :D
Benutzeravatar
Doom
User
Beiträge: 39
Registriert: Donnerstag 2. September 2010, 15:14
Wohnort: Bonn
Kontaktdaten:

Mittwoch 8. September 2010, 11:51

Jetzt muss ich aber nochmal blöd fragen:

Was bedeutet

Code: Alles auswählen

  '>' 
in den Klammern?

Und wieso jetzt das umändern? Was bedeutet daS?

Jetzt bin ich ganz verwirrt nach dem 2 mal ändern von alpha!

Erklärung bitte :(
Zuletzt geändert von Doom am Mittwoch 8. September 2010, 11:54, insgesamt 1-mal geändert.
alpha
User
Beiträge: 195
Registriert: Freitag 23. Mai 2003, 23:24
Wohnort: Ulm

Mittwoch 8. September 2010, 11:53

Probiers aus :-)
Py-Prog
User
Beiträge: 673
Registriert: Dienstag 16. Februar 2010, 17:52
Wohnort: G:\ermany

Mittwoch 8. September 2010, 14:07

Doom hat geschrieben:

Code: Alles auswählen

print ("Geben Sie die erste Kathetenlänge ein:")
z = input()
print ("Geben Sie die zweite Kathetenlänge ein:")
u = input()
o = z*z + u*u
i = o ** 0.5
print ("Die Diagonale hat folgende Länge:",i)
input()
Wieso nicht in einer zeile?

Code: Alles auswählen

z=input(float("Geben Sie die erste Kathetenlänge ein:"))
u=input(float("Geben Sie die zweite Kathetenlänge ein:"))
o = z*z + u*u
i = o ** 0.5
print ("Die Diagonale hat folgende Länge:",i)
input()
Technik ist: wenn alles funktioniert und keiner weiß warum.
Wer Rechtschreibfehler findet darf sie behalten.
BlackJack

Mittwoch 8. September 2010, 14:24

@Py-Prog: Das geht wohl so nicht:

Code: Alles auswählen

In [547]: float("Geben Sie die erste Kathetenlänge ein:")
---------------------------------------------------------------------------
<type 'exceptions.ValueError'>            Traceback (most recent call last)

/home/bj/<ipython console> in <module>()

<type 'exceptions.ValueError'>: invalid literal for float(): Geben Sie die erste Kathetenlänge ein:
Benutzeravatar
noisefloor
User
Beiträge: 2763
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: Görgeshausen
Kontaktdaten:

Mittwoch 8. September 2010, 19:50

Hallo,

@Doom: Das '>' ist das Prompt, dass in der Zeile ausgegeben wird, in der dann auf die Eingabe gewartet wird. Kannst auch einen anderen String nehmen, aber > ist halt das, was man zumindest auf vielen Linux / Unix Systemen findet -> vertraute Umgebung. :-)

Gruß, noisefloor
Antworten