স্ট্রিংয়ের অক্ষর একটি অক্ষর কিনা তা আমি কীভাবে পরীক্ষা করতে পারি? (পাইথন)


121

আমি সম্পর্কে জানি islowerএবং isupper, কিন্তু আপনি কি সেই চরিত্রটি একটি চিঠি কিনা তা যাচাই করতে পারেন? উদাহরণ স্বরূপ:

>>> s = 'abcdefg'
>>> s2 = '123abcd'
>>> s3 = 'abcDEFG'
>>> s[0].islower()
True

>>> s2[0].islower()
False

>>> s3[0].islower()
True

কোনো উপায় আছে শুধু যদি এরকম ব্যতীত একটি চরিত্র জিজ্ঞাসা আছে কি .islower()বা .isupper()?


2
দয়া করে নোট করুন যে প্রোগ্রামিংয়ে "শব্দের চরিত্র" সাধারণত অক্ষর এবং সংখ্যা এবং আন্ডারস্কোরকে বোঝায়। এই প্রশ্নটি আসলে "চিঠি" সম্পর্কে জিজ্ঞাসা করছে; কোনও চরিত্র শব্দের চরিত্র কিনা তা যদি আপনার দেখতে হয় তবে আমি খুঁজে পেয়েছি সেরা উপায় character.isalnum() or character == "_"
Variadicism

আমি জানি তবে আমি 3 বছর আগে যখন আমি প্রথম প্রোগ্রামিং শুরু করি তখন আমি এটির মতো জিজ্ঞাসা করেছি। এটি সম্পাদনা করতে নির্দ্বিধায়।
ওআরকা

যথেষ্ট ফর্সা। আমরা সবাই সেখানে ছিলাম. আমি একটি সম্পাদনা অনুরোধ করব।
ভেরিয়াদিসিজম

উত্তর:


190

আপনি ব্যবহার করতে পারেন str.isalpha()

উদাহরণ স্বরূপ:

s = 'a123b'

for char in s:
    print(char, char.isalpha())

আউটপুট:

a True
1 False
2 False
3 False
b True

9
দয়া করে মনে রাখবেন, এটি বিভিন্ন বর্ণমালার জন্যও এটি বেশ ভাল কাজ করে: >>> print [x.isalpha() for x in u'Español-한국어']প্রত্যাশা অনুযায়ী আপনাকে [সত্য, সত্য, সত্য, সত্য, সত্য, সত্য, সত্য, মিথ্যা, সত্য, সত্য, সত্য] দেয়
ক্রিমার

27
str.isalpha()

স্ট্রিংয়ের সমস্ত অক্ষর বর্ণানুক্রমিক এবং কমপক্ষে একটি অক্ষর থাকলে অন্যথায় মিথ্যা হলে সত্যটি প্রত্যাবর্তন করুন। বর্ণমালা অক্ষর হ'ল ইউনিকোড অক্ষর ডাটাবেসে "অক্ষর" হিসাবে সংজ্ঞায়িত সেই অক্ষরগুলি, অর্থাত্, সাধারণ শ্রেণীর সম্পত্তি যাদের "Lm", "Lt", "Lu", "LL", বা "Lo" এর মধ্যে একটি। নোট করুন যে এটি ইউনিকোড স্ট্যান্ডার্ডে সংজ্ঞায়িত "বর্ণমালার" থেকে পৃথক।

পাইথন 2.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
>>>

পাইথন 3.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)
>>>

4

আমি একটি ফাংশন এবং বেসিক কোড ব্যবহার করে এটি করার একটি ভাল উপায় খুঁজে পেয়েছি। এটি এমন একটি কোড যা একটি স্ট্রিং গ্রহণ করে এবং বড় বড় অক্ষর, ছোট হাতের অক্ষর এবং 'অন্যান্য' সংখ্যাও গণনা করে। অন্যান্য স্থান, বিরাম চিহ্ন বা এমনকি জাপানি এবং চীনা অক্ষর হিসাবে শ্রেণিবদ্ধ হয়।

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.")

str.isalphaআর অনেক সহজ '
আরিয়ান বীজাধুর

1

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()আপনি এটি একটি চিঠি কিনা তা পরীক্ষা করতে পারেন।



-2

এইটা কাজ করে:

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.")

পরিবর্তে ব্যবহার করুন ==, যদি কোনও মিথ্যা হয়
লেগোলাস ব্লুম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.