Python :: Aufgabe #260

4 Lösungen Lösungen öffentlich

Zeichenkette einlesen, auf 10 Wörter prüfen und jedes Vokal ersetzen

Anfänger - Python von Cara - 02.04.2020 um 17:41 Uhr
Schreibe ein Programm welches den Benutzer auffordert eine Zeichenkette einzugeben. Diese Zeichenkette sollte mindestens 10 Wörter haben. Wenn diese Anforderung nicht gegeben ist, so wird erneut zur Eingabe aufgefordert, solange bis er 10 Wörter oder "exit" eingibt. Bei "exit" wird das Programm beendet.

Beinhaltet die eingegebene Zeichenkette mindestens 10 Wörter, so werden alle Vokale durch ein "i" ersetzt und ausgeben.

Lösungen:

vote_ok
von jigga (4260 Punkte) - 04.04.2020 um 14:07 Uhr
Quellcode ausblenden Python-Code
import re

while True:
	zeichenkette = input('Zeichenkette (mind. 10 Wörter oder "exit"): ')
	if zeichenkette.lower() =='exit':
		break
	elif len(zeichenkette.split(' ')) < 10:
		print("Zeichenkette zu kurz. Nochmal!")
		continue
	else:
		print(re.sub(r"[AEOU]","I",re.sub(r"[aeou]","i",zeichenkette)))
		break
vote_ok
von satn1241 (3090 Punkte) - 06.04.2020 um 14:09 Uhr
Quellcode ausblenden Python-Code
text = str(input("Gib eine Zeichenkette aus min. 10 Wörtern ein. Du kannst auch zum beenden \"exit\" eingeben"))
status = True
while status == True:
    a = text.split()
    if text == "exit" or text =="Exit":
        status = False
        print("Die Eingabe wurde beendet")
        break
    if len(a) < 11:
        text = str(input(
            "Die Zeichenkette hatte weniger als 10 Wörter - bitte noch einmal eingeben (Zum Beenden \"exit\" eingeben.)"))
    else:
        status = False
        break
import re
pattern = re.compile(r'[aeouäüö]+')
text = pattern.sub("i",text)
pattern = re.compile(r'[AEOUÄÜÖ]+')
print(pattern.sub("I",text))
vote_ok
von Gisbert5020 (3120 Punkte) - 06.04.2020 um 18:30 Uhr
Quellcode ausblenden Python-Code
import re

while True:
    kette = input("Geben Sie zehn Wörter mit Leerabstand ein: ")
    kettel = kette.split()
    if len(kettel) == 10:
        j = re.sub("[AEOUÄÜÖaeouäüö]","i",kette)
        print(j)
        break
    if kette == "exit":
        break
    print("Das waren keine 10 Wörter, wenn Sie beenden wollen, geben sie "'"exit"'"")
vote_ok
von Chrisu90 (910 Punkte) - 29.10.2020 um 17:56 Uhr
Quellcode ausblenden Python-Code
def umwandler(eingabe):
    replacer = {'a':'i', 'e':'i', 'o':'i', 'u':'i'}
    eingabe = ''.join([replacer.get(c,c) for c in eingabe])
    print(eingabe)

while True:
    eingabe = input('Geben Sie einen Satz aus mindestens 10 Worten ein: ')
    eingabe = eingabe.lower()

    if len(eingabe.split(' ')) < 10:
        print('\nSatz zu kurz! Bitte nochmals versuchen!')
        continue
    else:
        umwandler(eingabe)
        break