Seite 1 von 2

Mein Programm will einfach nicht fujnktionieren

Verfasst: Mittwoch 8. September 2010, 10:09
von Doom

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

Re: Mein Programm will einfach nicht fujnktionieren

Verfasst: Mittwoch 8. September 2010, 10:20
von jbs
Wenn das Python 3 ist, musst du die Eingabe in den entsprechenden Typ umwandeln.

Code: Alles auswählen

float(input('>'))

Re: Mein Programm will einfach nicht fujnktionieren

Verfasst: Mittwoch 8. September 2010, 11:09
von numerix
Und du solltest dir gleich angewöhnen, für deine Bezeichner (Variablen) aussagekräftige Namen zu verwenden.

Re: Mein Programm will einfach nicht fujnktionieren

Verfasst: Mittwoch 8. September 2010, 11:42
von Doom
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

Re: Mein Programm will einfach nicht fujnktionieren

Verfasst: Mittwoch 8. September 2010, 11:43
von noisefloor
Hallo,

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

Gruß, noisefloor

Re: Mein Programm will einfach nicht fujnktionieren

Verfasst: Mittwoch 8. September 2010, 11:44
von noisefloor
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

Re: Mein Programm will einfach nicht fujnktionieren

Verfasst: Mittwoch 8. September 2010, 11:45
von Doom
Das freut mich zu hören :D
Ich muss sagen, das war ja jetzt nicht schwer.
Trotzdem danke! :) :) :) :) :) :) :) :) :)

Re: Mein Programm will einfach nicht fujnktionieren

Verfasst: Mittwoch 8. September 2010, 11:46
von Doom
Aber wo muss ich das einfügen?

Re: Mein Programm will einfach nicht fujnktionieren

Verfasst: Mittwoch 8. September 2010, 11:48
von alpha

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

Re: Mein Programm will einfach nicht fujnktionieren

Verfasst: Mittwoch 8. September 2010, 11:49
von Doom
Achso....... :|
Sorry wusste jetz nicht wie das gemeint war.
Wie gesagt bin halt ein blutiger Anfänger



Danke :D

Re: Mein Programm will einfach nicht fujnktionieren

Verfasst: Mittwoch 8. September 2010, 11:51
von Doom
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 :(

Re: Mein Programm will einfach nicht fujnktionieren

Verfasst: Mittwoch 8. September 2010, 11:53
von alpha
Probiers aus :-)

Re: Mein Programm will einfach nicht fujnktionieren

Verfasst: Mittwoch 8. September 2010, 14:07
von Py-Prog
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()

Re: Mein Programm will einfach nicht fujnktionieren

Verfasst: Mittwoch 8. September 2010, 14:24
von BlackJack
@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:

Re: Mein Programm will einfach nicht fujnktionieren

Verfasst: Mittwoch 8. September 2010, 19:50
von noisefloor
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

Re: Mein Programm will einfach nicht fujnktionieren

Verfasst: Mittwoch 8. September 2010, 19:55
von DasIch
Es heisst Hypothenuse nicht Diagonale, da gibt es einen wesentlichen Unterschied.

Re: Mein Programm will einfach nicht fujnktionieren

Verfasst: Mittwoch 8. September 2010, 20:26
von numerix
DasIch hat geschrieben:Es heisst Hypothenuse nicht Diagonale, da gibt es einen wesentlichen Unterschied.
Dann aber wenigstens auch Hypotenuse ...

Re: Mein Programm will einfach nicht fujnktionieren

Verfasst: Donnerstag 9. September 2010, 06:28
von noisefloor
Hallo,

@DasIch: IMHO geht es um ein Rechteck - und dann heißt es Diagonale. :-)

Gruß, noisefloor

Re: Mein Programm will einfach nicht fujnktionieren

Verfasst: Donnerstag 9. September 2010, 08:24
von BlackJack
@noisefloor: Bei einem Rechteck heisst es aber nicht erste und zweite Kathetenlänge. :-P

Re: Mein Programm will einfach nicht fujnktionieren

Verfasst: Donnerstag 9. September 2010, 10:51
von DasIch
noisefloor hat geschrieben:@DasIch: IMHO geht es um ein Rechteck - und dann heißt es Diagonale. :-)
Dann würde man aber auch von Kanten sprechen.