求python大神幫忙,在python下,輸入一串字串,輸出元素個數。急

2021-05-04 15:40:33 字數 3714 閱讀 4382

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