如果字符是字母,则从输入验证

时间:2016-08-25 20:21:14

标签: python

您好我是编程的新手,我正在尝试编写一个代码,该代码将从输入中收集信息并确定它是否是有效的字母。

我以前曾问过这个问题,但是给出的答案都没有用,所以我再问这个问题。请帮忙

static void Main(string[] args)
{
    var json = File.ReadAllText("JsonFile1.json");
    dynamic obj = JsonConvert.DeserializeObject(json);

    var dest = new
    {
        responses = ((IEnumerable<dynamic>)obj.responses).Select(x => new
        {
            info = x.info,
            body = JsonConvert.DeserializeObject((string)x.body)
        })
    };

    var destJson = JsonConvert.SerializeObject(dest);
    File.WriteAllText("JsonFile2.json", destJson);
}

假设我选择了三个字母然后输入我的代码然后按回车键 在第四, 代码将是:

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.

这正是我想要输出的方式。

enter image description here

2 个答案:

答案 0 :(得分: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,但我认为你会发现这段代码有效。此外,字符串类还有一些您可能会觉得有用的变量,包括数字,标点符号,可打印等等。

答案 1 :(得分: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