islower
및 isupper
에 대해 알고 있지만 그 문자가 문자인지 여부를 확인할 수 있습니까? 예를 들면 :
>>> s = 'abcdefg'
>>> s2 = '123abcd'
>>> s3 = 'abcDEFG'
>>> s[0].islower()
True
>>> s2[0].islower()
False
>>> s3[0].islower()
True
이 일 외에 문자 인 경우 그냥 부탁 할 수있는 방법이 있나요 .islower()
또는 .isupper()
?
답변
사용할 수 있습니다 str.isalpha()
.
예를 들면 :
s = 'a123b'
for char in s:
print(char, char.isalpha())
산출:
a True
1 False
2 False
3 False
b True
답변
str.isalpha()
문자열의 모든 문자가 알파벳이고 하나 이상의 문자가 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다. 알파벳 문자는 유니 코드 문자 데이터베이스에서 “Letter”로 정의 된 문자입니다. 즉, 일반 범주 속성이 “Lm”, “Lt”, “Lu”, “Ll”또는 “Lo”중 하나 인 문자입니다. 이것은 유니 코드 표준에 정의 된 “Alphabetic”속성과 다릅니다.
python2.x에서 :
>>> s = u'a1中文'
>>> for char in s: print char, char.isalpha()
...
a True
1 False
中 True
文 True
>>> s = 'a1中文'
>>> for char in s: print char, char.isalpha()
...
a True
1 False
� False
� False
� False
� False
� False
� False
>>>
python3.x에서 :
>>> s = 'a1中文'
>>> for char in s: print(char, char.isalpha())
...
a True
1 False
中 True
文 True
>>>
이 코드는 다음과 같이 작동합니다.
>>> def is_alpha(word):
... try:
... return word.encode('ascii').isalpha()
... except:
... return False
...
>>> is_alpha('中国')
False
>>> is_alpha(u'中国')
False
>>>
>>> a = 'a'
>>> b = 'a'
>>> ord(a), ord(b)
(65345, 97)
>>> a.isalpha(), b.isalpha()
(True, True)
>>> is_alpha(a), is_alpha(b)
(False, True)
>>>
답변
함수와 기본 코드를 사용하여이를 수행하는 좋은 방법을 찾았습니다. 이것은 문자열을 받아들이고 대문자, 소문자 및 ‘기타’의 수를 계산하는 코드입니다. 기타는 공백, 문장 부호 또는 일본어 및 중국어 문자로 분류됩니다.
def check(count):
lowercase = 0
uppercase = 0
other = 0
low = 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'
upper = 'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'
for n in count:
if n in low:
lowercase += 1
elif n in upper:
uppercase += 1
else:
other += 1
print("There are " + str(lowercase) + " lowercase letters.")
print("There are " + str(uppercase) + " uppercase letters.")
print("There are " + str(other) + " other elements to this sentence.")
답변
data = "abcdefg hi j 12345"
digits_count = 0
letters_count = 0
others_count = 0
for i in userinput:
if i.isdigit():
digits_count += 1
elif i.isalpha():
letters_count += 1
else:
others_count += 1
print("Result:")
print("Letters=", letters_count)
print("Digits=", digits_count)
산출:
Please Enter Letters with Numbers:
abcdefg hi j 12345
Result:
Letters = 10
Digits = 5
사용하여 str.isalpha()
편지인지 확인할 수 있습니다.
답변
이것은 작동합니다 :
any(c.isalpha() for c in 'string')
답변
이것은 작동합니다 :
word = str(input("Enter string:"))
notChar = 0
isChar = 0
for char in word:
if not char.isalpha():
notChar += 1
else:
isChar += 1
print(isChar, " were letters; ", notChar, " were not letters.")