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:

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

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

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:

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: 3854
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

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

Gruß, noisefloor
Benutzeravatar
noisefloor
User
Beiträge: 3854
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

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:

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:

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

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:

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:

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

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

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

@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: 3854
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

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
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Es heisst Hypothenuse nicht Diagonale, da gibt es einen wesentlichen Unterschied.
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

DasIch hat geschrieben:Es heisst Hypothenuse nicht Diagonale, da gibt es einen wesentlichen Unterschied.
Dann aber wenigstens auch Hypotenuse ...
Benutzeravatar
noisefloor
User
Beiträge: 3854
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

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

Gruß, noisefloor
BlackJack

@noisefloor: Bei einem Rechteck heisst es aber nicht erste und zweite Kathetenlänge. :-P
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

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.
Antworten