初學者的話確實可以通過 ascii table?來判斷字母和數(shù)字的區(qū)別。Python?里面有兩個內(nèi)置函數(shù) ord?和 chr?可用。
創(chuàng)新互聯(lián)于2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術服務公司,擁有項目網(wǎng)站建設、成都網(wǎng)站設計網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元集賢做網(wǎng)站,已為上家服務,為集賢各地企業(yè)和個人服務,聯(lián)系電話:18980820575
ascii table
通過判斷其字的范圍來確定是字母還是別的。確實可以達到你現(xiàn)在想要的目的。
不過我個人建議是,暫時不用太在意這種問題。這個也不是解決這些問題的理想方法。
當你以后學會使用正則表達式之后,回頭看這個問題就十分簡單了!
正則表達式才是解決字符串這類問題更理想的方法。這種方式的優(yōu)勢和能力之強等你學習到后就知道了。
代碼如下:
text = "Hello Python,Hello 2021."
letter = 0
digital = 0
other = 0
for i in text:
if i.isalpha():
letter += 1
elif i.isdigit():
digital += 1
else:
other += 1
print('字母:{} 數(shù)字:{} 其他:{}'.format(letter,digital,other))
輸出:
字母:16 數(shù)字:4 其他:4
下面是Python內(nèi)置關于判斷字符串類型的方法介紹:
str.isalnum()
如果字符串中的所有字符都是字母或數(shù)字且至少有一個字符,則返回?True?, 否則返回?False?。 如果?c.isalpha()?,?c.isdecimal()?,?c.isdigit()?,或?c.isnumeric()?之中有一個返回?True?,則字符``c``是字母或數(shù)字。
str.isalpha()
如果字符串中的所有字符都是字母,并且至少有一個字符,返回?True?,否則返回?False?。字母字符是指那些在 Unicode 字符數(shù)據(jù)庫中定義為 "Letter" 的字符,即那些具有 "Lm"、"Lt"、"Lu"、"Ll" 或 "Lo" 之一的通用類別屬性的字符。 注意,這與 Unicode 標準中定義的"字母"屬性不同。
str.isascii()
如果字符串為空或字符串中的所有字符都是 ASCII ,返回?True?,否則返回?False?。ASCII 字符的碼點范圍是 U+0000-U+007F 。
3.7 新版功能.
str.isdecimal()
如果字符串中的所有字符都是十進制字符且該字符串至少有一個字符,則返回?True?, 否則返回?False?。十進制字符指那些可以用來組成10進制數(shù)字的字符,例如 U+0660 ,即阿拉伯字母數(shù)字0 。 嚴格地講,十進制字符是 Unicode 通用類別 "Nd" 中的一個字符。
str.isdigit()
如果字符串中的所有字符都是數(shù)字,并且至少有一個字符,返回?True?,否則返回?False?。 數(shù)字包括十進制字符和需要特殊處理的數(shù)字,如兼容性上標數(shù)字。這包括了不能用來組成 10 進制數(shù)的數(shù)字,如 Kharosthi 數(shù)。 嚴格地講,數(shù)字是指屬性值為 Numeric_Type=Digit 或 Numeric_Type=Decimal 的字符。
str.isidentifier()
如果字符串是有效的標識符,返回?True?,依據(jù)語言定義,?標識符和關鍵字?節(jié)。
調(diào)用?keyword.iskeyword()?來檢測字符串?s?是否為保留標識符,例如?def?和?class。
str_1 = input("請輸入一個字符串:")
num_num = 0
num_alp = 0
num_null = 0
num_else = 0
for s in str_1:
if s = '0' and s = '9':
num_num += 1
elif (s = 'a' and s = 'z') or (s = 'A' and s = 'Z'):
num_alp += 1
elif s == ' ':
num_null += 1
else:
num_else += 1
print("數(shù)字的個數(shù):",num_num)
print("字母的個數(shù):",num_alp)
print("空格的個數(shù):",num_null)
print("其他的個數(shù):",num_else)
運行結果:
請輸入一個字符串:haha 123 ** 11
數(shù)字的個數(shù): 5
字母的個數(shù): 4
空格的個數(shù): 3
其他的個數(shù): 2
望采納!
#include stdio.h
int main()
{
char str[256];
char *p;
int upper = 0;
int lower = 0;
int space = 0;
int digit = 0;
int other = 0;
p = str; // P指針指向數(shù)組第一個元素 str[0]
gets(p);
while(*p) // P不為空的時候繼續(xù)下面du的
{
if(*p='A' *p='Z') // 判斷zhi是否為大寫
{
upper++; // 統(tǒng)計大寫字母個數(shù)
}
else if(*p='a' *p='z') //是否為小寫dao
{
lower++; //統(tǒng)計小寫個數(shù)
}
else if(*p == ' ') // 判斷是否為“ ”
{
space++; //統(tǒng)計個數(shù)
}
else if(*p='0' *p='9') // 判斷是否為數(shù)字
{
digit++; // 統(tǒng)計數(shù)字個數(shù)
}
else
{
other++; //剩下的是其他字符的 統(tǒng)計個數(shù)
}
p++; //指針后移
}
printf("upper = %d\n",upper); // 輸出
printf("lower = %d\n",lower); // 輸出
printf("space = %d\n",space);// 輸出
printf("digit = %d\n",digit);// 輸出
printf("other = %d\n",other);// 輸出
return 0;
}
擴展資料:
字符串在存儲上類似字符數(shù)組,它每一位單個元素都是能提取的,字符串的零位是它的長度,如s[0]=10,這提供給我們很多方便,例如高精度運算時每一位都能轉化為數(shù)字存入數(shù)組。
通常以串的整體作為操作對象,如:在串中查找某個子串、求取一個子串、在串的某個位置上插入一個子串以及刪除一個子串等。兩個字符串相等的充要條件是:長度相等,并且各個對應位置上的字符都相等。設p、q是兩個串,求q在p中首次出現(xiàn)的位置的運算叫做模式匹配。串的兩種最基本的存儲方式是順序存儲方式和鏈接存儲方式。
參考資料來源:百度百科-字符串
分享標題:python數(shù)字個數(shù)函數(shù) python計算數(shù)字個數(shù)
文章位置:http://chinadenli.net/article24/hgcoje.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、外貿(mào)建站、定制網(wǎng)站、網(wǎng)站制作、網(wǎng)站排名、域名注冊
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)