Seite 1 von 2
Finde den Fehler nicht >.<
Verfasst: Samstag 1. März 2014, 02:26
von astrionn
SOOO ich mal wieder ^^ diesmal schon ein wenig tiefer in die Materie eingestiegen habe einen eigenen Taschenrechner zusammengebastelt der sogar funktioniert. Danach dachte ich ich mach mal was komplizierteres und wollte diese Pythagoras-Geschichte als Programm verfassen bin damit auch recht weit gekommen doch scheint sich ein Fehler in der if-schleife zu befinden da sich wenn man inf ==2 setzt das ganze wieder von vorne anfängt auch wenn ich nur 1mal rechnen möchte ... kann mir jemand helfen

?
Code: Alles auswählen
import math
print("Wie viele Rechnungen möchten sie durchführen ?")
e = int(input())
count = 0
while count < e :
count = count + 1
print("Bitte geben sie an welche Informationen sie das rechtwinklige Dreieck betreffend haben!")
print("1=Beide Katheten")
print("2= eine Kathete und die Hypotenuse")
inf = int(input())
if inf == 1 :
print("Bitte geben sie die Länge der Kathete a an!")
a = int(input())
print("Bitte geben sie die Länge der Kathete b an!")
b = int(input())
aa = (a*a)
bb = (b*b)
ab = ( aa+bb )
c = math.sqrt(ab)
print ("Die Länge der Hypotenuse beträgt :" ,c )
elif inf == 2 :
print("Bitte geben sie die Länge der Kathete an!")
d = int(input())
print ("Bitte geben sie die Länge der Hypotenuse an")
e =int(input())
dd = (d*d)
ee = (e*e)
de = (ee - dd)
f = math.sqrt(de)
print ("Die Länge der fehlenden Kathete beträgt :" , f)
print ("Bitte betätigen sie die Enter-Taste um die Applikation zu schließen!")
end = input()
Re: Finde den Fehler nicht >.<
Verfasst: Samstag 1. März 2014, 02:46
von Leonidas
Die fällt schon auf, dass du ``e`` doppelt benutzt, zweimal für unterschiedliche Sachen?
Re: Finde den Fehler nicht >.<
Verfasst: Samstag 1. März 2014, 08:16
von anogayales
astrionn hat geschrieben:... bin damit auch recht weit gekommen doch scheint sich ein Fehler in der if-schleife ...
Sorry, dass ich diese Person sein muss.
http://www.if-schleife.de/ Den Fehler haben hier schon etliche Leute gemacht
Grüße,
anogayales
Re: Finde den Fehler nicht >.<
Verfasst: Samstag 1. März 2014, 10:18
von astrionn
Danke ich werde es mit einer anderen var versuchen erstmal und danke für den konstruktiven Hinweis in Punkto if-Schleife das hat mir sehr viel weiter geholfen -.-
~~~~~~~~~~~~~~~~~~~~~~~
jep das mit der doppelten variable wars vielen dank
Re: Finde den Fehler nicht >.<
Verfasst: Samstag 1. März 2014, 12:26
von BlackJack
@astrionn: Eine gute Gelegenheit über bessere Namen nachzudenken und nicht so nichtssagende, einbuchstabige Namen zu verwenden.

Re: Finde den Fehler nicht >.<
Verfasst: Samstag 1. März 2014, 12:36
von astrionn
Ja würde ich in komplexeren programmen auch von selbst machen ich hätte wirklich nicht gedacht das ein so kleines Programm schon Probleme hervorruft ^^ kann mir evtl jemand sagen was z.b. 8**4 bedeutet? Ich kann eigentlich ganz gut mathe aber mir ist diese Schreibweise unbekannt ich habe mit dem Gedanken gespielt das evtl dir vierte Potenz von 8 sein könnte bin mir aber nicht sicher
Re: Finde den Fehler nicht >.<
Verfasst: Samstag 1. März 2014, 12:51
von Sirius3
@astrionn: Wenn Du Dir nicht sicher bist, dann probier es doch einfach aus und lass Dir verschiedene Ergebnisse ausgeben.
Re: Finde den Fehler nicht >.<
Verfasst: Samstag 1. März 2014, 12:54
von BlackJack
@astrionn: Der Gedanke war richtig, das ist 8⁴. Bei solchen Fragen hilft die Python-Dokumentation. Oben rechts ist üblicherweise ein Link zum Index. Da dann `Symbols` anklicken und beim Eintrag `**` auf `operator` und man kommt zu einer
Tabelle mit den Operatoren.
Re: Finde den Fehler nicht >.<
Verfasst: Samstag 1. März 2014, 13:33
von astrionn
vielen dank
Re: Finde den Fehler nicht >.<
Verfasst: Samstag 1. März 2014, 16:04
von jqz4n
Außerdem kann man die Berechnugn der Hypotenuse auch von
math.hypot() erledigen lassen.
Re: Finde den Fehler nicht >.<
Verfasst: Samstag 1. März 2014, 16:18
von BlackJack
@astrionn: Für die äussere Schleife würde sich ``for`` anbieten, denn Du weisst ja vor Eintritt in die Schleife wie oft die Schleife durchlaufen werden soll.
Re: Finde den Fehler nicht >.<
Verfasst: Samstag 1. März 2014, 16:41
von astrionn
danke @blackjack das ist sehr gut ! wusste nicht wie ich das sonst machen soll
Re: Finde den Fehler nicht >.<
Verfasst: Montag 3. März 2014, 18:03
von bb1898
BlackJack hat geschrieben:@astrionn: Für die äussere Schleife würde sich ``for`` anbieten, denn Du weisst ja vor Eintritt in die Schleife wie oft die Schleife durchlaufen werden soll.
Und dann wäre sogar die doppelte Verwendung von "e" unschädlich (wenn auch nicht gerade nützlich), weil das "Abgrenz-e" nur vor der Schleife gebraucht wird. Die Einzelbuchstaben sind halt innerhalb der Mathematik so flächendeckend üblich, natürlich will man die auch in einem mathematischen Programm verwenden.
Re: Finde den Fehler nicht >.<
Verfasst: Montag 3. März 2014, 18:07
von astrionn
also ich bin jetzt noch nicht so weit was schleifen angeht klappt das so ?
Code: Alles auswählen
for ( count < g :)
count = count + 1
print("Bitte geben sie an welche Informationen sie das rechtwinklige Dreieck betreffend haben!")
print("1=Beide Katheten")
print("2= eine Kathete und die Hypotenuse")
inf = int(input())
if inf == 1 :
das jetzt als Auszug von meinem davorigen Quellcode
Re: Finde den Fehler nicht >.<
Verfasst: Montag 3. März 2014, 18:10
von Leonidas
Nein, die for-Schleife hat nicht mal annähernd korrekte Syntax.
Re: Finde den Fehler nicht >.<
Verfasst: Montag 3. März 2014, 18:10
von astrionn
okay dann mache ich das später wenn ich das erst irgendwo gelesen habe ^^
Re: Finde den Fehler nicht >.<
Verfasst: Montag 3. März 2014, 21:07
von /me
astrionn hat geschrieben:okay dann mache ich das später wenn ich das erst irgendwo gelesen habe ^^
Du brauchst gar nicht "irgendwo" lesen. Es hindert dich niemand daran, das Tutorial durchzugehen.
Schleifen mit for kommen darin sogar recht früh vor.
Re: Finde den Fehler nicht >.<
Verfasst: Montag 3. März 2014, 23:04
von astrionn
ich meinte damit in dem Umfang indem ich mich damit befasse kam es nicht vor bisher und ich werde wohl schon irgendwann etwas davon hören im Rahmen meiner Selbstbildung und dann schau ich malwieder da nach , weil ich es jetzt halt nicht verstehe und es zu weit vorgegriffen scheint.
Re: Finde den Fehler nicht >.<
Verfasst: Montag 3. März 2014, 23:13
von EyDu
for-Schleifen sind nicht zu weit vorgegriffen. Das sind absolute Grundlagen und die werden spätestens in Kapitel zwei behandelt. Ok, vielleicht auch in Kapitel 3, nach der Einleitung und if-Statements.
Re: Finde den Fehler nicht >.<
Verfasst: Montag 3. März 2014, 23:25
von astrionn
okay ich beuge mich ... ich wollte mal fragen ob jemand etwas ähnliches wie codeacadamy kennt was aber python 3.x benutzt nicht 2.x wie bei codeacadamy ? sollte schon kostenlos sein
[ Soll ich dafür evtl ein neuen Thread öffnen?]