strings in Liste Zahlenwerte aus Dictionairy zuordnen

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.
PanTau
User
Beiträge: 26
Registriert: Freitag 14. Januar 2022, 17:24

_deets_, ich habe das dictionairy von mir gelassen, wie es war und den Rest einfach unten rangehängt. und es sieht bei mir in pycharm genau so aus wie bei rogerb seinem code. Natürlich habe ich es nur reinkopiert. Was kann ich da falsch machen?
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Wenn du irgendwelche Sachen irgendwie einkopierst, dann natuerlich alles.

Rogers Code einfach als ganzes kopieren, und nichts anderes benutzen, dann geht es.
PanTau
User
Beiträge: 26
Registriert: Freitag 14. Januar 2022, 17:24

Ah moment, ja klar muss ich die Einleitung des Dictionairy auch mit rüber nehmen, weil das Programm sich ja in der Folge auf auf diese charaktermap bezieht .... sorry
PanTau
User
Beiträge: 26
Registriert: Freitag 14. Januar 2022, 17:24

Bingo .... es funktioniert jetzt auch bei mir mit meinem eigenen dictionairy ..... super!!
PanTau
User
Beiträge: 26
Registriert: Freitag 14. Januar 2022, 17:24

ich küsse euch (nat. nur elektronisch ;D)
PanTau
User
Beiträge: 26
Registriert: Freitag 14. Januar 2022, 17:24

wenn ihr mir jetzt noch sagen könntet, wo steht, wie man so ein Programm als ausführbare Datei an ein Handy senden kann, dann wäre ich glücklich. Ich mache das alles nämlich, weil es meiner Tochter bei der Namensfindung für ihr ungeborenes Baby helfen soll. Ich muss jetzt nur noch die Deutung für die verschiedenen Zahlen ranhängen:

if {namenumber} == 1
print(".............") <---- so oder ähnlich

Aber meine Tochter kann das Programm nat. nicht auf meinem PC gebrauchen. Sie sollte es für ihr Handy haben. Danach werde ich mein Augenmerk wieder den Lernprogrammen zuwenden. Die sind erfolgversprechender für mich als Programmier-Rookie.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Wenn deine Tochter ein iPhone hat, dann geht das mit Pythonista.
PanTau
User
Beiträge: 26
Registriert: Freitag 14. Januar 2022, 17:24

ok, danke .... da werde ich mich dann schlau machen, thx
imonbln
User
Beiträge: 149
Registriert: Freitag 3. Dezember 2021, 17:07

rogerb hat geschrieben: Freitag 21. Januar 2022, 22:49

Code: Alles auswählen

def crosssum(numbers):
    while len(numbers) > 1:
        numbers = list(map(int, str(sum(numbers))))
    return sum(numbers)
Die Funktion crosssum berechnet aus der Liste aller Buchstabenzahlen die Quersumme bis diese einstellig ist.
Wow! Schönes kleines Kuriosum.
Auf der einen Seite ist dieser Code, ein sehr ästhetischer Umgang mit der Programmiersprache Python, um das Problem zu lösen. Anderseits ist das ständige Umwandeln von String nach Integer und wieder zurück etwas, das den erfahrenden Systemingenieur in mir sofort zucken lässt, da ich weiß, dass beide Operationen vergleichsweise teuer sind.
Ich denke, dass diese Lösung etwas mehr Systemlast erzeugen wird als die reine Integer Implementierung, wie ich sie vorgeschlagen habe und würde sie wahrscheinlich in einem Codereview beanstanden.
rogerb
User
Beiträge: 878
Registriert: Dienstag 26. November 2019, 23:24

@imonbln, Danke! Wertvolles Feedback! Genau der Punkt hatte mich auch erst zögern lassen und ich hatte insgeheim damit gerechnet etwas in der Art zurückzubekommen. Ich werde bei Gelegenheit mal die Perfomance prüfen. Wenn man mal "crosssum python" googelt, findet man den Ansatz übrigens recht oft.

Man könnte aber auch argumentieren, dass es bei Python sowieso nicht so sehr auf die Perfomance ankommt. Wenn das eine wichtige Anforderung wäre, würde man vielleicht von vornherein auf eine andere Sprache wechseln.
In meinem Alltag lese, analysiere und ändere ich Pythoncode vergleichsweise oft. Daher hat Lesbarkeit bei Python einen recht hohen Stellenwert für mich.
rogerb
User
Beiträge: 878
Registriert: Dienstag 26. November 2019, 23:24

@imonbln, wie versprochen: Ein Perfomance Test zu dem Thema
viewtopic.php?f=9&t=53946
Antworten