您好我是编程的新手,我正在尝试编写一个代码,该代码将从输入中收集信息并确定它是否是有效的字母。
我以前曾问过这个问题,但是给出的答案都没有用,所以我再问这个问题。请帮忙
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.
这正是我想要输出的方式。
答案 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