統計字符串中指定類型字符的個數


 

 統計字符串中指定類型字符的個數

描述

假設所有字符分為三類:字母,數字及其他字符。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

編寫一個函數,判斷指定字符的類型,並統計字符串中該類型字符的個數。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

主程序輸入一個字符串及一個字符,調用上述函數統計該字符同類型字符在該字符串中的個數。

輸入格式

第一行輸入一個字符串,第二行輸入一個字符,不要任何提示信息。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

輸出格式‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

      輸出指定字符類型的個數,如依次輸入a8kw#2和-,輸出為“與-同類型的字符有1個。”

解題代碼:

def function(s, ch):
    a=b=c=0
    for i in s:
        if ord('a')<=ord(i)<=ord('z') or ord('A')<=ord(i)<=ord('Z'):
            a=a+1
        elif ord('0')<=ord(i)<=ord('9'):
            b=b+1
        else:
            c=c+1
    
    if ord('a')<=ord(ch)<=ord('z') or ord('A')<=ord(ch)<=ord('Z'):
        return a
    elif ord('0')<=ord(ch)<=ord('9'):
        return b
    else:
        return c

#--------在以下空行處編寫function函數代碼----------------#
#以下為主程序
s=input()
ch=input()
print("與%c同類型的字符有%d個。"%(ch,function(s,ch)))

分析:本題主要的問題是如何識別輸入的字符是何種類型的,是字母,數字還是其他字符類型。眾所周知,每一個字符都有對應的阿斯克碼值Ascii,且相同類型的字符的Ascii相鄰

,因此,我們可以通過這個方法來識別。

  這里我們得用到ord()函數。ord() 函數是 chr() 函數(對於8位的ASCII字符串)或 unichr() 函數(對於Unicode對象)的配對函數,它以一個字符(長度為1的字符串)作為參數,返回對應的 ASCII 數值,或者 Unicode 數值,如果所給的 Unicode 字符超出了你的 Python 定義范圍,則會引發一個 TypeError 的異常。

通過for循環可以依次遍歷字符串的每一個字符,並且分辨字符類型和計數,再通過if條件判斷語句,判斷要查詢的字符類型並返回該類型的個數。

運行結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM