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.
# Das Skript soll alle durch 2 teilbaren Zahlen ermitteln, im Rahmen des vom Nutzers angegebenen Zahlenspektrums.
print "Es sollen alle durch 2 teilbaren Zahlen ermittelt werden"
startzahl = raw_input("zwischen: ")
endzahl = raw_input("und: ")
while startzahl < (int(endzahl)+1):
#der type int wird in die variable typ übergeben
typ = type(1)
#die startzahl wird durch 2 geteilt und der variablen ergebnis zugewiesen
ergebnis = startzahl / 2.0
#der datentyp von ergebnis wird ermittelt und der variblen typ_ergebnis übergeben
typ_ergebnis = type(ergebnis)
#es wird geprüft ob die datentypen von typ und typ_ergebnis gleich sind
if typ==typ_ergebnis:
#ist ergebnis vom datentyp int wird es ausgegeben und startzahl um 1 erhöht
print ergebnis
startzahl += 1
else:
#ist ergebnis nicht vom datentyp int wird startzahl erhöht
startzahl += 1
Die Eingabe der Zahlen oben funktioniert super nur dann passiert garnichts mehr.
Warum?
Zuletzt geändert von kornyclown am Mittwoch 21. März 2012, 15:30, insgesamt 1-mal geändert.
Grund:Quelltext in Python-Code-Tags gesetzt.
Der mit Kommentaren überfrachtete Code erschwert das Lesen ungemein. Kommentare richten sich an den fachlich gebildeten Leser und sind nicht dafür da, den Code prosaisch zu wiederholen.
Hier ist eine Variante für deine Aufgabe die vielleicht einen Kommentar vertragen könnte. Dieser Kommentar sollte aber die Idee des Algorithmus beschreiben und nicht wie "Es wird eine Schleife mit i als Zähler durchlaufen ..." aussehen.
Stimmt jetzt wo du es sagst fällt mir auch auf dass da immer ein float bei rauskommen muss aber andersrum, wenn ich es durch "2" teilen würde, würde ja auch immer ein "int" bei rauskommen.
Die "isinstance" Funktion klingt in der Tat sehr interessant. Bei meiner Suche in der Python Doc hab ich sowas nich gefunden, muss als Anfänger aber auch gestehen das ich nich wirklich sicher bin wonach ich hätte suchen sollen.
Das mit den Äpfeln und Birnen meint wohl, dass ich startzahl auch noch auch in einen "int()" wrappen müsste, oder?
Die Kommentare sind auch eigentlich nur dafür da gewesen, sollte mein Anfängercode völlig falsch gewesen sein, dass man wenigstens hätte erlesen können was es denn hätte werden sollen. Aber ich bin dankbar für jeden Hinweis, der meinen Code professioneller macht. Ich werde drauf achten.