[Algorithmik] 6stellige Zahlen aus einem string filtern.

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.
Antworten
BlackJack

@problembär: Wenn der Index bei 1 beginnt verursacht das oft Fehler, genau deswegen beginnt er ja bei fast allen Sprachen bei 0. Das ist das Ergebnis von rationalen Diskussionen mit Argumenten und Beobachtung von Fehlern die eben bei 1-basierten Sequenztypen deutlich häufiger auftreten, weil man da deutlich häufiger in Berechnungen eins abziehen oder addieren muss um an die richtige Stelle im Speicher zu kommen.
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Das Index-"Problem" wurde doch von Dijkstra schon vor 30 zufriedenstellend gelöst und ich musste wirklich überlegen, welche Sprache noch mit 1 anfangen. Eingefallen sind mir lediglich Lua und MATLAB. Bei letzterem würde ich davon ausgehen, dass die 1 beibehalten wurde, da es in der Mathematik so üblich ist. Dieses Thema als eine der "Hauptschwierigkeiten" für Programmierer zu bezeichnen ist aber etwas seltsam. Wenn das eines meiner Hauptschwierigkeiten wäre, dann würde ich mir über meine Berufswahl echte Gedanken machen. Oder liegt hier etwa der Unterschied zwischen Informatikern und Programmierern? :evil:
Das Leben ist wie ein Tennisball.
nomnom
User
Beiträge: 487
Registriert: Mittwoch 19. Mai 2010, 16:25

@lunar: Du hättest einfach die „xrange“ verkleinern können, statt für jede Zahl zu prüfen, ob sie die richtige Länge hat:

Code: Alles auswählen

def find_numbers(s, digits):
    return [s[i:i+digits] for i in xrange(len(s)-digits+1) if s[i:i+digits].isdigit()]
lunar

@nomnom: Stimmt, daran habe ich nicht gedacht… Danke :)
Benutzeravatar
snafu
User
Beiträge: 6741
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

problembär hat geschrieben:Daß der Index von Listen (oder Arrays) bei 0 und nicht bei 1 beginnt, ist seit vielen Jahren eines der Hauptschwierigkeiten für Programmierer, verursacht oft Fehler, und es wird für viele Sprachen diskutiert, ob das so beibehalten werden soll (siehe z.B. Google zu "array index start").
Wenn man die von dir vorgeschlagene Googlesuche durchführt, dann stößt man auf ein paar Fragen zu dem Thema, die vermutlich von Programmieranfängern gestellt wurden, sowie auf einen Blogeintrag mit einigen Erläuterungen, warum diese Regelung insbesondere aus logisch-mathematischer Sicht praktikabel und daher sinnvoll erscheint. Jedenfalls nichts, was die von dir aufgestellten Behauptungen wirklich stützen würde...
problembär hat geschrieben:So, und da die anderen Leute hier meine Erklärungen normalerweise nicht leiden können, bin ich jetzt raus hier, SPUTNiK weitere Fragen an mich bitte ggf. per PN.
Weitere Fragen bitte gerne weiterhin öffentlich stellen, damit man nicht nur die Meinung eines Einzelnen hören muss, der nicht ohne Grund desöfteren für seine Aussagen und Haltung (in aller Regel auf inhaltlicher Ebene) in diesem Forum kritisiert wird. Verschiedene Meinungen zu einem Thema geben erfahrungsgemäß einen deutlichen besseren Überblick, um eine Fragestellung möglichst zufriedenstellend beantwortet zu bekommen. :)
Antworten