Hallo an alle die mir helfen können^^
Ich habe das Problem, das ich gern eine lange Zahlenfolge (Kontonummer, etc...) als einzelne Ziffer in eine Liste geben würde. Will heißen:
Nummer: 623464357
Liste:[6,2,3,4,6,4,3,5,7]
Also genau die Zahl halt nur in einer Liste mit den einzelnen Ziffern.
Und bevor ich wieder von diversen Personen aufs Korn genommen werde:
Google bietet (was ich gefunden hab) nur Lösungen das er die einzelnen Zahlen in der richtigen mathematischen Reihenfolge ausgibt und alle nur einmal (also bei dem Beispiel oben [2,3,4,5,6,7]). Das ging mit dem befehl set().
Falls jemand Abhilfe weiß das wär toll.
Einzelne Ziffern in Listen
-
- User
- Beiträge: 83
- Registriert: Montag 11. Februar 2008, 15:43
- Kontaktdaten:
Das einfachste dürfte der Umweg über eine Zeichenkette sein, also 1) in Zeichenkette umwandeln, 2) Zeichenkette in Liste mit Zeichen/Ziffern, und 3) die Ziffern wieder in Zahlen umwandeln.
(Ich verschieb's mal nach "Allgemein", da kein Tkinter in Sicht.)
(Ich verschieb's mal nach "Allgemein", da kein Tkinter in Sicht.)
-
- User
- Beiträge: 83
- Registriert: Montag 11. Februar 2008, 15:43
- Kontaktdaten:
ja entschuldigung ich habs falsch gepostet, mein Fehler.
also ganz einfach so?
also bei dem frozenset bin ich mir nicht sicher....weiß nicht wie man es sonst in eine Liste bekommt.
also ganz einfach so?
Code: Alles auswählen
b=input('Zahl: ')
b=str(a)
c=frozenset(b)
print c
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Kürzeste Lösung:
Gibt aber noch diverse andere Möglichkeiten.
Code: Alles auswählen
[int(num) for num in str(623464357)]
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
- User
- Beiträge: 83
- Registriert: Montag 11. Februar 2008, 15:43
- Kontaktdaten:
Für was steht denn das "num"?
Ich verstehe deine Lösung nämlich nicht so richtig Leonidas.
Ich verstehe deine Lösung nämlich nicht so richtig Leonidas.
-
- User
- Beiträge: 83
- Registriert: Montag 11. Februar 2008, 15:43
- Kontaktdaten:
Vielen Dank Black Jack mit deiner Lösung hats funktioniert. Und so schön kurz
.
Vielen Dank auch an Leonidas deine Lösung war sicherlich auch richtig^^

Vielen Dank auch an Leonidas deine Lösung war sicherlich auch richtig^^
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Dann lerne List Comprehensions zu verstehen. Dazu gibt es viel Dokumentation.nightm4r3^ hat geschrieben:Für was steht denn das "num"?
Ich verstehe deine Lösung nämlich nicht so richtig Leonidas.
Aber sag mal: die LC-Lösung verstehst du nicht, aber du kannst erklären was ``map()`` macht?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
- User
- Beiträge: 83
- Registriert: Montag 11. Februar 2008, 15:43
- Kontaktdaten:
Ja^^ aber wenn du genaueres wissen willst musst du meinen Informatik Lehrer fragen
.
Deine Lösung hab ich jetzt aber auch verstanden nachdem mir Black Jack seine geschrieben hatte. So Geistesblitzartig^^

Deine Lösung hab ich jetzt aber auch verstanden nachdem mir Black Jack seine geschrieben hatte. So Geistesblitzartig^^
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Ähm.. mir ist schon klar was ``map()`` macht, nur meine Frage war, ob du es deinem Lehrer erklären kannst, was Funktionen machen die ihr noch nicht durchgenommen habt.nightm4r3^ hat geschrieben:Ja^^ aber wenn du genaueres wissen willst musst du meinen Informatik Lehrer fragen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
- User
- Beiträge: 83
- Registriert: Montag 11. Februar 2008, 15:43
- Kontaktdaten:
Ich meinte damit auch nicht das du meinem Lehrer Fragen sollst was ''map()'' bedeutet sondern ihn nur fragen, warum er mit uns diese funktion schon gemacht hat, aber ich trotzdem net weiß was deine Lösung bedeutet
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Wenn du im Internet nach "List Comprehension" suchen würdest, wäre das schnell geklärt *hint*.nightm4r3^ hat geschrieben:aber ich trotzdem net weiß was deine Lösung bedeutet
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
- User
- Beiträge: 83
- Registriert: Montag 11. Februar 2008, 15:43
- Kontaktdaten:
Ja okay mach ich bei gelegenheit mal.
Nur momentan häng ich an nem Prüfziffernrechner und das wird mich noch einige Zeit in anspruch nehmen aber danach werd ichs mir mal anschauen.
Nur momentan häng ich an nem Prüfziffernrechner und das wird mich noch einige Zeit in anspruch nehmen aber danach werd ichs mir mal anschauen.
Hi!
Vielleicht hilft es.
GnuShi
Die hier vorgestellten Lösungen sind Kurzschreibweisen für:nightm4r3^ hat geschrieben: Nummer: 623464357
Liste:[6,2,3,4,6,4,3,5,7]
Also genau die Zahl halt nur in einer Liste mit den einzelnen Ziffern.
Code: Alles auswählen
liste = []
for zeichen in "623464357":
liste.append(int(zeichen))
print liste
GnuShi
-
- User
- Beiträge: 83
- Registriert: Montag 11. Februar 2008, 15:43
- Kontaktdaten:
Vielleicht hilft es.
Ja wie schon gesagt bin auch noch selber darauf gekommen. Trotzdem Danke GnuShi
Nur mal so eine Lösung ohne Zeichenkette:
Code: Alles auswählen
import math
nr = 494789823 # Beispiel
nrliste = [(nr/10**k)%10 for k in range(int(math.log(nr,10)+1))][::-1]
Versuch das mal mit ``nr = 0``. 
Ohne den Umweg über `str()` würde ich wahrscheinlich eine Funktion schreiben, die mit `divmod()` solange Ziffern ausrechnet, bis der Rest 0 ist.

Ohne den Umweg über `str()` würde ich wahrscheinlich eine Funktion schreiben, die mit `divmod()` solange Ziffern ausrechnet, bis der Rest 0 ist.
So (ähnlich) würde ich es bei einem anständigen Programm auch machen. Ich hatte mir aber als Ziel gesetzt, es mit List Comprehension in einer Zeile zu schaffen - das hat dann ja auch geklappt.Ohne den Umweg über `str()` würde ich wahrscheinlich eine Funktion schreiben, die mit `divmod()` solange Ziffern ausrechnet, bis der Rest 0 ist.
Eine noch bessere Lösung ist:

Sowas muss man doch als Pythomatiker wissen! *g*
Viele Grüße Markus
Code: Alles auswählen
nummer=raw_input('deine Kontonummer: ')
liste=list(nummer)

Sowas muss man doch als Pythomatiker wissen! *g*
Viele Grüße Markus

Der Ausgang war eine Zahl und keine Zeichenkette und das Ergebnis sollte eine Liste mit Zahlen sein und keine Liste mit Zeichenketten.