Python :: Aufgabe #257 :: Lösung #5

7 Lösungen Lösungen öffentlich
#257

Namen in Initialen umwandeln

Anfänger - Python von JKooP - 29.03.2020 um 15:07 Uhr
Schreibe ein Programm, mit dem es möglich ist, einen beliebig langen Namen (Vorname(n), Nachname(n), Namenszusätze) als Initialen darzustellen.
Ebenfalls sollen durch Bindestrich getrennte Namen einbezogen werden.
Optional soll die Ausgabe sowohl mit Bindestrich als auch in Großbuchstaben erfolgen.

Beispiel:

Karl-Theodor Maria Nikolaus Johann Jacob Philipp Franz Joseph Sylvester Buhl-Freiherr von und zu Guttenberg

--> KTMNJJPFJSBFvuzG

Optional:

--> K-TMNJJPFJSB-FvuzG
--> KTMNJJPFJSBFVUZG oder K-TMNJJPFJSB-FVUZG

Viel Spaß
#5
vote_ok
von Asthos (410 Punkte) - 03.04.2020 um 21:43 Uhr
Quellcode ausblenden Python-Code
#!/usr/bin/env python
# -*- coding: utf-8 -*-

#Aufgabe:
#Schreibe ein Programm, mit dem es möglich ist, einen beliebig langen Namen (Vorname(n), Nachname(n), Namenszusätze) als Initialen darzustellen.
#Ebenfalls sollen durch Bindestrich getrennte Namen einbezogen werden.
#Optional soll die Ausgabe sowohl mit Bindestrich als auch in Großbuchstaben erfolgen.

#Beispiel:

#Karl-Theodor Maria Nikolaus Johann Jacob Philipp Franz Joseph Sylvester Buhl-Freiherr von und zu Guttenberg

#--> KTMNJJPFJSBFvuzG

#Optional:

#--> K-TMNJJPFJSB-FvuzG
#--> KTMNJJPFJSBFVUZG oder K-TMNJJPFJSB-FVUZG

#Viel Spaß

NAME = 'Karl-Theodor Maria Nikolaus Johann Jacob Philipp Franz Joseph Sylvester Buhl-Freiherr von und zu Guttenberg'

def initialen_ermitteln(name):
    initialen = ''
    for i, c in enumerate(name):
        #ersten Buchstaben übernehemn
        if i == 0:
            initialen = name[i]
        #Falls aktueller Buchstabe ein Leerzeichen ist, dann den nächsten Buchstaben übernehmen
        if c == ' ':
            initialen = initialen + name[i+1]
        if c == '-':
            initialen = initialen + name[i] + name[i+1]
    #Falls mehrere Leerzeichen im Namen existieren diese nun hier raus löschen
    return initialen.replace(' ','')

print(initialen_ermitteln(NAME))



Ergebnis: K-TMNJJPFJSB-FvuzG

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben
2004280

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.