1樓:匿名使用者
抄一段以前的回答:
import re
data="asdfasdfasdffrist'~!$123@df#456asgh'endasdfasdfasdf"
print len(''.join(re.findall(r'[^0-9a-za-z]*',data)))#其他
print len(''.join(re.findall(r'\d*',data)))#數字
print len(''.join(re.findall(r'[a-z]*',data)))#大寫
print len(''.join(re.findall(r'[a-z]*',data)))#小寫
2樓:
# 稍作改造
data="asdfasdfasdffrist'~!$123@df#456asgh'endasdfasdfasdf"
counter = [0, 0, 0, 0]for ch in data:
if ch.isupper():
counter[0] += 1
elif ch.islower():
counter[1] += 1
elif ch.isdigit():
counter[2] += 1
else:
counter[3] += 1
print counter
# 再改:
upper, lower, digit, other = range(4)
def chtype(ch):
if ch.isupper():
return upper
elif ch.islower():
return lower
elif ch.isdigit():
return digit
else:
return other
def counter(data):
_counter = [0, 0, 0, 0]for ch in data:
_counter[chtype(ch)] += 1return _counter
data="asdfasdfasdffrist'~!$123@df#456asgh'endasdfasdfasdf"
print counter(data)
3樓:匿名使用者
mystr = 'a123#$&bcdqweqweq'
def countstr(s):
count = [0, 0, 0, 0]
for c in s:
count[0] += c.isupper()count[1] += c.islower()count[2] += c.
isdigit()count[3] = len(s) - count[0] - count[1] - count[2]
return count
count = countstr(mystr)print 'upper:', count[0], 'lower:', count[1], 'int:
', count[2], 'other:', count[3]
python編寫一段**,要求使用者從鍵盤輸入一字串,程式負責提取出其中的數字字元,並顯示。 大神求教
4樓:匿名使用者
1、建立python檔案,testregexp.py檔案;
2、編寫**提取字串中的數字;
string="12abc34wf5s!@#6af7"
list_str1=re.findall(r"\d*",string)
list_num=''.join(list_str1)print(list_num)
3、編寫**,提取字串中的英文字母;
#提取字元
list_str2=re.findall("[a-z]*",string)
list_str=''.join(list_str2)print(list_str)
4、執行**,檢視執行結果,滿足所需結果;
5樓:du知道君
主要出在eval上。 python3.0 第一個方案:
while true: ten=input("x:") try:
x=eval(ten) if type(x)==int:break except:pass 然後輸入asf,沒有提示。
輸入344就退出了 x:asf x:344 第二個方案 while true:
ten=none try: ten=int(input("x:")) except:
pass if type(ten)==int:break 這個在python3.0上除錯通過 第三個方案:
python2.x的方案 while true: ten=raw_input("enter a number:
") if ten.isdigit():break ten=int(ten) #或者是ten=eval(ten) 都除錯過。可以用
python數出字串中大小寫字母的 5
6樓:匿名使用者
str_1=input("請輸入一個字串:")numc=0
nums=0
numo=0
i=0len_str=len(str_1)while i<=len_str:
i += 1
if(str[i]>="a") and (str[i]<="z"):
numc=numc+1
if(str[i]>="a") and (str[i]<="z"):
nums=nums+1
else:
numo=numo+1
print("您輸入的字串統計結果是:",len_str)print("有%s個大寫字母"%numc)print("有%s個小寫字母"%nums)print("有%s個其他字母"%numo)or# python3.6
s = input("請輸入一個字串:")a = b = c = 0
for i in s:
if 'a' <= i <= 'z':
a += 1
elif 'a' <= i <= 'z':
b += 1
else:
c += 1
print("您輸入的字串統計結果是:",len(str))print(f"有個大寫字母")
print(f"有個小寫字母")
print(f"有個其他字母")
python編寫程式,輸入一個字串表示名字,計算名字中各個字母數值的總和
7樓:你愛我媽呀
print sum(map(ord,list(str1.lower())))-96*len(str1)
其中str1是輸入字串。
以abc為例:
str1.lower() 將所有字母變成小寫字母 abc。
list(str1.lower()) 將字串變成 ['a', 'b', 'c']ord 將字母變成ascii 數字 。
map(ord,list(str1.lower()))將列表中所有字母變成數字[97,98,99]。
sum 求和。
求和後,由於a的ascii 是97, 所以每個字母都得減96。
大神急救python的問題,大神 。。急救 python的問題。
newarray for rid,row in enumerate oldarray newrow cid,data for cid,data in enumerate row newrow.sort key lambda x x 1 reverse true 10 newarray rid dic...
python重構函式怎麼確定引數(在《python從入門到實踐》的《外星人入侵》小遊戲遇到的問題)
1,對,init 中定義的變數,其他物件方法 第一個引數是self的 可以直接用 2,不是很清楚你什麼地方沒想明白,三個引數都是update screen的引數,作者認為它需要3個才能正確工作,就這麼設計了。3,ai settings是一個例項,在圖1的1處就是它了。python從入門到實踐裡的 外...
求大神來幫助python異常題目
最後一次假如不夠10元的話就會出問題,還有判斷money應該大於0,不是大於等於。下面 可用 money 100 i 0 while money 100 and money 0 a random.randint 1,10 if money 10 a random.randint 1,money mo...