2016-08-25 4 views
-3

Привет Я новичок в программировании, и я пытаюсь написать код, который будет собирать информацию из ввода и определять, является ли он действительным алфавитом.валидация от ввода, если символ является алфавитным

Ранее я задавал этот вопрос, но ответы только что не работали, поэтому я снова задаю вопрос. Пожалуйста, помогите

words = [] 
word = input('Character: ') 
while word: 
if word not in words: 
    words.append(word) 
word = input('Character: ') 
print(''.join(words),'is a a valid alphabetical string.') 

Предположим, я выбираю три буквы, то выход из моего кода прессуют введите на четвёртую, код будет:

Character:a 
Character:b 
Character:c 
Character: 
abc is a valid alphabetical string. 

Я хочу добавить к этому коду, так что когда я набираю символ, который не является с алфавита, код будет делать что-то вроде этого.

Character:a 
Character:b 
Character:c 
Character:4 
4 is not in the alphabet. 

Именно так я хочу, чтобы мой результат был.

enter image description here

+0

Я показал, что я пытался – cars

+0

Добавлено ответ на свой предыдущий вопрос. Этот должен быть отмечен как дубликат. – Karin

ответ

0

Если посмотреть на класс строки я думаю, вы обнаружите, что есть некоторые переменные, которые вы бы оказаться полезными.

from string import letters 
word = raw_input("Character: ") 
words = [] 
while word and word in letters: 
    if word not in words: 
    words.append(word) 
    word = raw_input('Character: ') 

У меня нет python на этом компьютере, но я думаю, что вы найдете этот кусок кода. Кроме того, класс string содержит несколько других переменных, которые вы можете найти полезными, включая цифры, знаки препинания, печати и т. Д.

+0

Где бы я положил это в свой код – cars

+1

приятель, это в значительной степени соответствует вашему коду. Вы должны быть в состоянии выяснить, где это поставить. Я думаю, что я оставил заявление о печати. Это все. – bravosierra99

+0

Ваш вопрос состоял в том, как подтвердить, что символы являются буквами, а не как написать всю проблему для вас. Я дал вам ответ на ваш вопрос. Вы должны быть в состоянии понять это здесь. – bravosierra99

0

Вы можете использовать функцию string.isalpha(), чтобы узнать, является ли вход буквенным или нет.

>>> 'a'.isalpha() 
True  <-- as 'a' is alphabet 
>>> 'A'.isalpha() 
True  <-- as 'A' is also alphabet 
>>> ''.isalpha() 
False  <-- empty string 
>>> '1'.isalpha() 
False  <-- number 
------------------------- 
>>> 'ab'.isalpha() 
True  <-- False, since 'ab' is alphabetic string 

# NOTE: If you want to restrict user to enter only one char at time, 
# you may add additional condition to check len(my_input) == 1 
>>> len('ab') == 1 and 'ab'.isalpha() 
False 

Для того, чтобы получить входной сигнал от пользователя, вы можете сделать:

  • Использование raw_input:

    x = raw_input() # Value of x will always be string

  • Использование input

    x = input() # Value depends on the type of value

    x = str(x) if x else None # Convert to str type. In case of enter with value set as None

+0

Я испробовал isalpha, вы должны ввести как строку – cars

+0

'raw_input()' возвращать все как строку –

+0

моя программа говорит, что ошибка raw-input не определена – cars

Смежные вопросы