Мне нужна моя программа для проверки ввода пользователя. До сих пор я определил ряд «validLetters» и «validNumbers»:Проверка входа в Python во время цикла
validLetters = ('abcdefghijklmnopqrstuvwxyz ')
validNumbers = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
Однако, он должен затем проверить, как это:
name = input("What is your name?\n").lower()
while name == "" or name in validNumbers:
name = input("What is your name?\n").lower()
strinput0 = name
char_only0 = ''
for char in strinput0:
if char in validLetters:
char_only0 += char
name = char_only0
Проблема заключается с «в» части оператора, он работает только в том случае, если вход представляет собой одно число (например, «6»), но он принимает два или более числа (например, «65»), потому что «65» (в отличие от «6») не находится в действительных числах ,
Я хочу, чтобы он просматривал весь вход и снова спрашивал, состоит ли он только из цифр, так как вы можете видеть, что он выводит их (плюс любые специальные символы) в конце.
Существуют решения .isalpha(), однако они не допускают пробелов, которые требуются, если пользователь вводит свое полное имя!
Я уже много часов пробовал эту проблему, кто-то, возможно, может решить это для меня. Заранее спасибо.
Я не понимаю, почему вы позволяете номера в первую очередь, если вы только собираетесь лишить их после. – SirParselot