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.
@bgmann: Ich habe das mal vom Thema „An alle Schüler und Studenten mit Informatikproblemen” abgetrennt. Und Du solltest zumindest die ersten Beiträge von dem Thema mal lesen. Das ist nicht das Thema in dem Schüler ihre Informatikprobleme posten, sondern was sie vorher lesen sollten um zu wissen wie sie ihre Frage stellen und welche Hilfe sie erwarten können.
Ohne ein wenig Eigenleistung in der Regel eher wenig. Es wird erwartet, dass Du Dich mit Python und der Fragestellung auseinander setzt. Das heisst sich in ein Python-Tutorial einarbeiten und dann die eigene Lösung zeigen, beziehungsweise Teillösung oder zumindest Lösungsansatz.
Die Aufgabe ist in der Tat ganz einfach und die sollte man eigentlich nach vier Tagen Python lernen lösen können. Wo genau sind denn die Schwierigkeiten? Es steht doch fast alles dort was man machen muss. Nicht einmal die Formel muss man sich selber suchen.
Hallo, ich bin angefangen bevor 4 Tage Python zu lernen und noch die erste Aufgabe kann nicht lösen. Kann mir jemand eventuell helfen? Werde dankbar. Das soll nicht schwer sein, aber für mich es ist, weil ich nur seit 4 Tage es lerne.
Man sagt uns wir sollen der Idee gedenken und nicht des Mannes. Denn ein Mensch kann versagen. Er kann gefangen werden. Er kann getötet und vergessen werden. Aber 400 Jahre später kann eine Idee immer noch die Welt verändern.
-V
Ich kann es nicht lösen trotz alles, was ich gesucht und gelesen habe. Meine variante ist diese, aber ich weiß, dass es falsch ist. Für "try" habe ich keine ahnung was da stehen soll? Wo muss die Formel stehen? Es ist nicht, dass ich nichts versucht habe!
import math
x=math.pi
print x
userVariable=raw_input("Geben Sie bitte Durchmesser ein:")
numBerechnung=float(userVariable)
print numBerechnung
try:
except:
print "Fehler aufgetreten"
raw_input("Press return to close this window...")
from math import pi
print pi
userVariable = raw_input("Geben Sie bitte Durchmesser ein:")
try:
#diese Umwandlung kann fehlschlagen, wenn Eingabe keine Zahl, deshalb try / except
numBerechnung=float(userVariable)
print "Durchmesser: ", numBerechnung
print "Pi: ", pi
print "Durchmesser^2: ", numBerechnung**2
# hier muss jetzt die Flaeche berechnet werden
except ValueError:
print "Eingabe war keine Zahl."
raw_input("Press return to close this window...")
*edit* Ich habe doch noch das except zu einem ValueError gemacht, um nur Fehler der Umwandlung von string to float abzufangen.
Tipp: Führ deinen Code in der Konsole aus, damit du Fehlermeldungen lesen kannst, dann kannst du dir "raw_input("Press return to close this window...")" sparen
Danke! Bei except steht wieder nix, soll es so sein? Ich weiß nicht, was ich ändern soll, es siecht gut aus.
Ahso, du hast schon bei Except etwas dazu geschrieben. Darf ich diese beide nacheinander schreiben?
print "Fehler aufgetreten"
print "Eingabe war keine Zahl."
Muss man nach "Zahl" "." - Punkt haben?
Program CircleArea;
Const
four: Word = 4;
Var A, d: Real;
Begin
Write('Bitte Durchmesser eingeben: ');
ReadLn(d);
Asm
fninit
fld d
fmul %st,%st
fldpi
fmulp
fidiv four
fstp A
End;
WriteLn('Die Fläche beträgt ', A:0:3);
End.
: main ( -- )
." Bitte Durchmesser eingeben: " pad 80 accept cr
pad swap >float
if
fdup f* pi f* 4e f/
." Die Fläche beträgt " f.
else
." Eingabe war keine Zahl."
then cr ;
main bye
Hm, die Python-Lösung hat mich noch nicht überzeugt. Der try-except-Block ist sinnlos, da der Fehler gar nicht behandelt wird, sondern nur die Fehlermeldung, die sowieso erscheinen würde, ausgegeben wird.
Edit: Code entfernt.
Zuletzt geändert von nomnom am Sonntag 28. Oktober 2012, 13:53, insgesamt 1-mal geändert.
Darii's inspiration von Lösungen in „grafischen” Programmiersprachen folgend eine Lösung in Scratch zusammen geklickt:
@nomnom: Juhuu, wenigstens einer der die Hausaufgabe für den OP in abgebbarer Form gelöst hat.
Was meinst Du mit „dank PEP8”? Genau *die* Zeile hält sich da nicht dran, denn da fehlen Leerzeichen um die Operatoren. Ich hoffe Du hast da nicht die Leerzeichen um die Zuweisung von Default- und Schlüsselwortargumenten einfach auf Operatoren übertragen.
BlackJack hat geschrieben:@nomnom: Juhuu, wenigstens einer der die Hausaufgabe für den OP in abgebbarer Form gelöst hat.
Was meinst Du mit „dank PEP8”? Genau *die* Zeile hält sich da nicht dran, denn da fehlen Leerzeichen um die Operatoren. Ich hoffe Du hast da nicht die Leerzeichen um die Zuweisung von Default- und Schlüsselwortargumenten einfach auf Operatoren übertragen.
Das mit der Hausaufgabe habe ich gar nicht bedacht.
Irgendwo, meine ich, habe ich mal gelesen, dass da Leerzeichen hingehören. In PEP8 habe ich es nicht mehr gefunden ...
@nomnom: Ist jetzt etwas ungünstig über nicht mehr vorhandenen Quelltext zu diskutieren.
In PEP8 steht: Leerzeichen vor und nach Operatoren. Und die hattest Du nicht gesetzt, Dich aber im Kommentar darauf bezogen, dass das wegen PEP8 so aussieht.
Früher war alles viel einfacher — da hätte es so auf meinem Bildschirm (== Fernseher) ausgesehen (ohne die farbige Hervorhebung der Syntax allerdings):