Python Eingabe nur Buchstaben und Zahlen zu lassen (ohne built in)?
Chrutschow,
wie kann man es in Python so machen dass nur die Zeichen [A-Z], [a-z] sowie [0-9] als Eingabewerte gültig sind? Ich weiß, dass es mit x = input (str(....) geht, aber die Built-in-Funktionen sind bei uns verboten!!! (eigentlich ist somit auch 'input' an sich verboten, aber ich hab keine Ahnung, wie man das anders implementieren soll).
Für Zahlen gibt's ja is.digit, aber für Werte? Mein Ansatz:
eingabe = input ('Eingabe: ')
if (eingabe.isdigit() == False and eingabe.isstring() == False):
print ("Nö! Da sag ich ganz einfach nö!")
else:
print ('Korrekte Eingabe!')
1 Antwort
Vom Beitragsersteller als hilfreich ausgezeichnet
Ich würde das mit einem Regulären Ausdruck lösen:
import re
result = input("Eingabe: ")
if not re.match("^[A-Za-z0-9]*$", result):
print ("Nö! Da sag ich ganz einfach nö!")
else:
print ('Korrekte Eingabe!')
Danke. Aber dann würden ja auch keine Leerzeichen zugelasen werden? Wie kann ich das noch implementieren?