ZahlungsschutzMehr dazu
- Überarbeitungen im Rahmen des Pakets sind kostenlos.
- Reagieren Sie nicht innerhalb von 3 Tagen nach der Lieferung, gilt die Arbeit automatisch als abgenommen.
Das Geld wird bei der Zahlung reserviert und erst freigegeben, wenn Sie die Arbeit abnehmen.

Beispielergebnis
Code-Review: Python-Skript zum Bestellimport für einen kleinen Onlineshop
Was der Code macht
- Liest
orders.csvaus dem Shop-Export. - Sucht für jede Bestellposition den Artikel per SKU in
stock.xlsxund zieht die Menge ab. - Schreibt den neuen Bestand zurück und protokolliert Summen in
import_log.txt.
Die Struktur ist klar, die Funktionen sind gut benannt. Die meisten Probleme entstehen durch Eingaben, die anders aussehen als erwartet.
Fehler und Schwachstellen
| # | Zeile | Schwere | Problem |
|---|---|---|---|
| 1 | 48 | Hoch | Dieselbe CSV kann doppelt importiert werden; bereits verarbeitete Bestellnummern werden nicht geprüft. Wahrscheinlichste Ursache für negativen Bestand. |
| 2 | 72 | Hoch | int(row["qty"]) stürzt bei leeren Werten oder „2.0“ aus Erstattungen ab. |
| 3 | 95 | Mittel | SKU-Suche unterscheidet Groß-/Kleinschreibung: „gt-101“ und „GT-101“ gelten als zwei Artikel. |
| 4 | 130 | Mittel | Datei wird ohne encoding="utf-8" geöffnet; Umlaute in Artikelnamen gehen unter Windows kaputt. |
| 5 | 201 | Niedrig | Ein nacktes except: verschluckt echte Fehler und macht das Log nutzlos. |
Korrigierte Abschnitte
Problem 1: bereits importierte Bestellungen überspringen
processed = load_processed_ids("processed_orders.txt")
for row in reader:
if row["order_id"] in processed:
continue
# ... bestehende Logik ...
processed.add(row["order_id"])
save_processed_ids("processed_orders.txt", processed)
Warum: Jede Bestellung wird nur einmal verbucht, auch wenn das Skript erneut auf dieselbe Datei läuft.
Problem 2: Menge sicher einlesen
raw = (row.get("qty") or "").strip()
try:
qty = int(float(raw))
except ValueError:
log.warning("Bestellung %s: ungültige Menge %r, übersprungen", row["order_id"], raw)
continue
Warum: Erstattete oder unvollständige Zeilen werden mit klarem Hinweis übersprungen, statt den Import abzubrechen.
Problem 3: SKUs vereinheitlichen
sku = row["sku"].strip().upper()
Dasselbe .strip().upper() beim Aufbau des Lager-Dictionarys anwenden.
Stil und Lesbarkeit
process()hat 90 Zeilen; aufteilen inread_orders,apply_to_stock,write_report.- Feste Spaltennummern (
row[7]) durch Spaltennamen ersetzen.
Bitte testen Sie jede Korrektur an einer Kopie Ihrer Dateien: Wir haben den Code gelesen, aber nicht ausgeführt.
Kundin: Inhaberin eines Teeladens, die ein Python-Skript mit 310 Zeilen geschrieben hat, das Bestellungen aus einem CSV-Export in die Lagertabelle übernimmt Gemeldetes Problem: „Manchmal wird der Bestand negativ, und bei manchen Dateien stürzt das Skript ab.“
Kunde und alle Angaben sind erfunden.
Über diese Leistung
Python-Code aus Kursen und ersten Projekten funktioniert meist, versteckt aber Gewohnheiten, die später Ärger machen: veränderliche Standardargumente, nackte except-Blöcke, globale Variablen und eine einzige lange Funktion, die alles erledigt. Fügen Sie Ihr Skript oder Ihre Notebook-Zellen ein, und wir erklären in einfachen Worten, was jeder Teil tut, wo er bricht oder brechen kann und wie dieselbe Idee in idiomatischem Python aussieht. Zu jedem Punkt gibt es die Begründung, damit Sie die Regel lernen und nicht nur die Korrektur.
Was enthalten ist
- Das bekommen SieEin schriftliches Review auf der Bestellseite: was Ihr Skript tut, Probleme nach Wichtigkeit sortiert mit Python-spezifischen Erklärungen und korrigierte Fragmente im PEP-8-Stil. Premium enthält zusätzlich einen Lernplan mit den Python-Themen, die Sie als Nächstes üben sollten.
- Traceback erklärtWelche Zeile fehlschlug und warum
- Pythonische UmschreibungenComprehensions, f-Strings, with-Blöcke
- Typische FallenVeränderliche Defaults, nacktes except, Globals
- Funktionen und NamenWie man den Code aufteilt und benennt
- PEP-8-TippsLesbares Layout, das andere erwarten
So funktioniert es
- 1BriefingSie fügen den Code und den Fehler ein
- 2LesenWir gehen den Code Zeile für Zeile durch
- 3PrüfungSie erhalten Erklärungen und korrigierte Fragmente
Was wir von Ihnen brauchen
Ihr Python-Code als Text oder Screenshots, die Python-Version, was das Skript tun soll und der vollständige Traceback, falls es abstürzt.
Wir fragen Sie:
- Welche Python-Version und welche Bibliotheken nutzen Sie?
- Ist es ein Skript, ein Notebook oder Teil eines größeren Projekts?
- Was soll der Code tun, und was passiert stattdessen?
- Wie lange lernen Sie schon Python?
Pakete vergleichen
| Pakete | BasisPython-Skript bis 100 Zeilen14 € | StandardPython-Code bis 400 Zeilen32 € | PremiumBis zu 1.000 Zeilen mit Lernplan62 € |
|---|---|---|---|
| Lieferzeit | 1 Tag | 2 Tage | 3 Tage |
| Überarbeitungen | 1 | 2 | 3 |
| Codezeilen | bis 100 | bis 400 | bis 1.000 |
| Korrigierte Fragmente | Ja | Ja | Ja |
| Lernplan | Nein | Nein | Ja |
| Bestellen Basis | Bestellen Standard | Bestellen Premium |
Zahlungsschutz
Sie bezahlen bei der Bestellung, aber das Geld wird nur für abgenommene Arbeit freigegeben.
- FestpreisDer Paketpreis ändert sich nach der Zahlung nicht mehr.
- Das Geld wird reserviertBei der Zahlung wird der Betrag nur reserviert. Freigegeben wird er erst, wenn Sie die Arbeit abnehmen.
- Vor der Lieferung geprüftJedes Ergebnis durchläuft eine Qualitätsprüfung, bevor es Sie erreicht, und Sie sehen es auf der Bestellseite, bevor Sie es abnehmen.
- Kostenlose ÜberarbeitungenFordern Sie Überarbeitungen im Rahmen Ihres Briefings so oft an, wie das Paket es erlaubt.
- Abnahme nach 3 TagenWenn Sie die Arbeit innerhalb von 3 Tagen nach der Lieferung weder abnehmen noch eine Überarbeitung anfordern, gilt sie automatisch als abgenommen. Schreiben Sie nach der Lieferung im Bestell-Chat, wartet die Bestellung; sobald wir antworten, können wir die 3 Tage neu starten und teilen das im Chat mit.
- Neuanfertigung oder volle RückerstattungWenn das Ergebnis nicht Ihrem Briefing entspricht und die Überarbeitungen das nicht behoben haben oder die Arbeit mehr als doppelt so lange dauert wie die Frist, schreiben Sie im Bestell-Chat: Wir erstellen die Arbeit neu oder erstatten die Zahlung vollständig.
Fragen und Antworten
Führen Sie meinen Code aus?
Nein. Wir lesen ihn sorgfältig und analysieren, wie er sich verhält, führen ihn aber nicht aus. Testen Sie daher jede vorgeschlagene Korrektur in Ihrem eigenen Projekt.
Können Sie ein Jupyter-Notebook prüfen?
Ja. Fügen Sie die Zellen der Reihe nach ein, mit ihren Ausgaben oder Fehlermeldungen, und wir prüfen sie als ein Programm.
Lösen Sie meine Kursaufgabe?
Wir prüfen Ihren eigenen Lösungsversuch und erklären, wie Sie ihn korrigieren. Benotete Tests oder Prüfungen erledigen wir nicht für Sie.