Dateien herunterladen und in einem Verzeichnis ablegen
Wie pixewakb ja schon schrieb sind die beiden gemeldeten Fehler gar keine Fehler im Sinne das dort das Programm abbricht. Die kommen auch nicht von Python sondern von der IDE die dafür anscheinend `pyflakes` verwendet. Die Nummer der Meldungen beginnt mit einem W für Warning. Falls die IDE nicht zwischen Fehlern und Warnungen deutlich unterscheidet, sollte man das in den Einstellungen anpassen. Falls das nicht geht, würde ich die IDE wechseln.
Hilft Dir das:
Formulier mal in Sprache, was Dein Algorithmus erledigen soll. Für mich ist es momentan schwierig Deinen Quelltext und Deine Aufgabe zu verstehen. Wenn ich es richtig denke, dann musst Du prüfen, ob der Ordner noch OK ist, falls ja, speicherst Du daran, falls nein, erzeugst Du einen neuen Ordner und speicherst dann da rein? Ich kann nicht sagen, dass ich ganz durchblicke. Momentan bin ich mit Arbeit eingedeckt und werde mich nicht (komplett) durch deinen Quelltext arbeiten können.
Code: Alles auswählen
def quadrieren(a, b):
# quadriert die beiden Zahlen a und b
if type(a) not in [int, float]:
raise TypeError("a ist keine Zahl!")
if type(b) not in [int, float]:
raise TypeError("b ist keine Zahl!")
return a * b
def main():
# Hauptprogramm, Prozedur ohne Rückgabewert
a = 2
b = 3
produkt = quadrieren(a, b)
print(produkt)
a = b
b = produkt
produkt = quadrieren(a, b)
print(produkt)
if __name__ == "__main__":
main()
@pixewakb: Die Typprüfungen verhindern das man beispielsweise `long`; `decimal.Decimal`; `fractions.Fraction`; `mpz`-, `mpf`-, oder `mpq`-Objekte aus dem `gmpy`-Modul; Zahltypen und Arraytypen von Numpy, und wahrscheinlich noch eine ganze Menge anderer ”Zahlen” mit der Funktion verwenden kann. Warum?
Zudem würde man wenn schon mit `isinstance()` prüfen um wenigestens direkt abgeleitete Typen nicht auszuschliessen.
Zudem würde man wenn schon mit `isinstance()` prüfen um wenigestens direkt abgeleitete Typen nicht auszuschliessen.
Autsch, wegduck.
In freier Wildbahn prüfe ich selten und wenn dann gezielt auf ganz wenige Dinge. Wie würdest Du die Typprüfung umsetzen, wenn man fragen darf.
In freier Wildbahn prüfe ich selten und wenn dann gezielt auf ganz wenige Dinge. Wie würdest Du die Typprüfung umsetzen, wenn man fragen darf.
Mal eine Verständnisfrage: Beim Speichervorgang würde ich doch nur das Speicherziel ermitteln, da wäre es doch eigentlich egal, in welcher Woche du dich befindest, das würde ich Python überlassen wollen. Wenn Du wieder laden willst (getrennter Vorgang, sonst würde ich mit dem Python-generierten Wert weiterarbeiten), bestimmst Du den letzten Ordner auf der Platte. Die Detailfragen dahinter - ohne mich jetzt durch den Quelltext zu arbeiten, Sorry, mein Schreibtisch liegt voll - müssten dich doch eigentlich gar nicht interessieren?aaron hat geschrieben:Ich versuche schon lange die Funktionen zu begreifen. Hier meine erste Frage. Als Parameter übergebe ich year und day, weil ich aktuelle Datum prüfen möchte. Ist 2017 > 2016, dann ist die letzte Woche die 52. Kalenderwoche. Was ist bei einem Jahr mit 53 Kalenderwochen? Ist das neue Jahr < Jahr dann return. Kann mir bitte jemand erklären wie diese Funktion richtig funktioniert, woher die Parameter kommen und wie diese richtig an die nächste Funktion übergeben werden.
Als Fehlermeldung bekomme ichCode: Alles auswählen
def check_date(year, day): last_day = min(datetime.date(year, 12, 31), datetime.date.today()) new_year, last_week, _ = day.isocalendar() if new_year > year: last_week = 52 elif new_year < year: return
Code: Alles auswählen
TickDataCsv.py|91 col 1 error| W0612 local variable 'last_day' is assigned to but never used [pyflakes] TickDataCsv.py|94 col 1 error| W0612 local variable 'last_week' is assigned to but never used