Hallo Addili!
Mach für deine Frage doch mal einen neuen Thread mit einem entsprechenden Betreff auf und im entsprechenden Unterforum auf. Dann erhöhen sich die Chancen, dass dir jemand helfen kann.
Anfänger-Problem...
Einverstanden.birkenfeld hat geschrieben:Non sequitur... wenn man ein Konstrukt nicht kennt, ist es nicht verwunderlich, dass man es nicht verwendet.
Hier mag ich dir nun nicht folgen. Während die Verwechslungsgefahr mit verwandten Konstruktionen bei z.B. Lambdas oder Dekoratoren äußerst gering ist, gilt dies für ein "else" sicher nicht.birkenfeld hat geschrieben:Hier gilt das gleiche wie für Dekoratoren oder Lambdas: Man muss das Element kennen, um den Quelltext zu können. Bei anderen Elementen, wie if-else, erschließt sich der Sinn dem Betrachter von selbst -- aber hätte man nur solche Elemente zur Verfügung, würde Python zu einer Art "kleinstem gemeinsamen Nenner" aller Sprachen und damit ziemlich uninteressant.pütone hat geschrieben:Aus meiner Sicht machen die else-Konstruktionen für Schleifen einen Quelltext schlechter lesbar.
Und: Lambdas und Dekoratoren sind mächtige Elemente, ohne die sich manches nur wesentlich umständlicher (vielleicht auch gar nicht - aber das kannst du besser beurteilen als ich) realisieren lässt. Vom "Schleifen-else" würde ich das nicht behaupten.
Mit dem Schleifen-``else`` spart man sich eine Variable, und damit eine Namensgebung, für den Zustand wie die Schleife verlassen wurde.
Code: Alles auswählen
flag = True
for item in obj:
if predicate(item):
flag = False
break
if flag:
print 'spam'
# versus:
for item in obj:
if predicate(item):
break
else:
print 'spam'
Nabend!Voronwe hat geschrieben:Code: Alles auswählen
import cgi def prim(n): p = [] for x in range(2,n): for y in range(2,x): if x % y == 0: break else: p.append(x) for z in p: print z, "<br />" print "Dies sind insgesamt", len(p) fs = cgi.FieldStorage() grenze = fs.getvalue("zahl", "10") print "Alle Primzahlen bis", grenze, ":<br />" prim(grenze)
Bin noch ein sehr sehr unerfahrener Neuling in Python und in Programmieren überhaupt (außer HTML) und will das eben mit Pyhon ändern. Auf de Thread bin ich gekommen als ich ne Lösung für mein Problem gesucht habe. Gut der Thread löst zwar mein Problem nicht, aber wenn ich scho dabin will ich noch eben ne Wissenslücke schließen

Und zwar versteh ich in diesem Skript die Zeile 5 nicht. Kann mir jemand erklären was genau sie bewirkt? Also, an "p" wird was übergeben, des ist mir schon klar, aber was?
Schönen Dank schonmal

Mycron
meinst du das?
Hier wird der Variable p eine leere Liste zugewiesen.
Code: Alles auswählen
p = []
Schau doch einfach in der Doku nach: Library Reference -> cgi. Da ist es erklärt.Mycron hat geschrieben:Ok, wenn mir jetzt noch wer die Funktion von Zeile 18 und 19 erklärt hab ich das Skript auch kapiert