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.
iucundus
User
Beiträge: 5 Registriert: Freitag 16. August 2013, 15:57
Wohnort: Zittau
Freitag 16. August 2013, 18:04
Das Programm liefert falsche Ergebnisse. Wäre nett, wenn jemand drüber schauen könnte.
Danke im Voraus.
Code: Alles auswählen
import math
print "KREIS Flaecheninhalt"
#Eingabe
print "\nRadius (1) oder Durchmesser (2)?"
wahl=int(input())
if wahl==1:
print "Radius:"
radius=double(input())
#Berechnung
a=math.pi*(radius*radius)
print "\nFlaecheninhalt:", a, "Einheit^2"
else:
print "Durchmesser:"
durchmesser=int(input())
#Berechnung
a=(math.pi/4.0)*(durchmesser*durchmesser)
print "\nFlaecheninhalt:", a, "Einheit^2"
Zuletzt geändert von
iucundus am Freitag 16. August 2013, 18:34, insgesamt 3-mal geändert.
Sirius3
User
Beiträge: 18230 Registriert: Sonntag 21. Oktober 2012, 17:20
Freitag 16. August 2013, 18:16
Wenn Du glaubst, daß das Programm einen Fehler hat, dann mußt Du Schritt für Schritt das nachvollziehen was gemacht wird. Hat »wahl« den Wert, den Du erwartest, »radius«, »math.pi« usw.
iucundus
User
Beiträge: 5 Registriert: Freitag 16. August 2013, 15:57
Wohnort: Zittau
Freitag 16. August 2013, 18:19
@ BlackJack
Ein Beispiel:
Wenn ich den Radius wähle und z.B. 1.3 eingebe, wird der Flächeninhalt falsch angezeigt (≈3,14). Richtig wäre ≈5,3.
Ein weiteres Beispiel. r=2,5; A≈12,7; richtig wäre ≈17,3
georgebaker
User
Beiträge: 25 Registriert: Freitag 12. April 2013, 19:53
Freitag 16. August 2013, 18:27
@iucundus: Wie Sirius3 schon meinte, schau dir an welche Werte die Variablen haben, besonders deine Eingabe. Dann solltest du den Fehler gleich bemerken.
Hyperion
Moderator
Beiträge: 7478 Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:
Freitag 16. August 2013, 18:45
Du solltest in Python 2.x kein ``input`` benutzen, sondern ``raw_input``.
Und was zur Hölle ist denn ``double()``?