統計字符數—a n 數字的連加

案例一

輸入一行字符,分別統計出其中英文字母、空格、數字和其它字符的個數。

#-*- coding: UTF-8 -*-
import string

s=raw_input('s:')
letters=0
space=0
digit=0
others=0
for i in s:
    if i.isalpha():
        letters+=1
    elif i.isspace():
         space+=1
    elif i.isdigit():
        digit+=1
    else:
        others+=1
print '%d,%d,%d,%d' % (letters,space,digit,others)

結果:

Paste_Image.png

案例二

求s=a+aa+aaa+aaaa+aa...a的值,其中a是一個數字。例如2+22+222+2222+22222(此時共有5個數相加),幾個數相加有鍵盤控制。

#-*- coding: UTF-8 -*-
Tn = 0
Sn = []
n = int(raw_input('n = :\n'))
a = int(raw_input('a = :\n'))
for count in range(n):
    Tn = Tn + a
    a = a * 10
    Sn.append(Tn)  #追加到列表
    print Tn
Sn = reduce(lambda x,y : x + y,Sn)
print Sn

解釋:
1.lambda 函數可以接收任意多個參數 (包括可選參數) 并且返回單個表達式的值。lambda 函數不能包含命令,包含的表達式不能超過一個
此處的意思就是在Sn中取出2個數字相加。
2.python中的 reduce 函數有三個參數,第一個參數就是作用函數,第二個函數就是可迭代的對象,第三個是迭代初始值。 python中的reduce內建函數是一個二元操作函數,他對一個數據集合(鏈表,元組等)中的所有數據進行。此處的意思是對Sn里面的值累計相加

結果:

Paste_Image.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容