29

ユーザーが入力したテキストを検証して、文字のみを受け入れ、数字は受け入れないようにしています。これまでのところ、数字 (たとえば 56) を入力するとコードは正常に動作しますが、文字のみを入力する必要があることを警告し、文字を入力しても何も返されません (そうあるべきです)。私の問題は、文字の後に数字を入力して開始すると(s45)、それが受け入れられることです。文字列全体ではなく、最初の文字を受け入れます。文字列全体を受け入れる必要があります。

def letterCheck(aString):
    if len(aString) > 0:
        if re.match("[a-zA-Z]", aString) != None:
            return ""
    return "Enter letters only"
4

4 に答える 4

3

文字列に isalpha() を使用することを検討してください。文字列にアルファベットのみが含まれている場合は true を返し、そうでない場合は false を返します。

if aString.isalpha():
   do something
else:
   handle input error
于 2013-04-11T17:07:05.347 に答える
0

あなたがかなりpythonicな文章を探しているなら、 isalpha と isdecimal に行きます:

str = u"23443434";
print str.isdecimal();
于 2014-05-22T08:26:38.790 に答える