17.题目:
输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
程序分析:利用 while 或 for 语句,条件为输入的字符不为 '\n'。
注:char:字符串个数;space:空格个数;diagt:数字个数;others:其他字符的个数
import string
s = input('请输入一个字符串:\n')
letters = 0
space = 0
digit = 0
others = 0
for c in s:if c.isalpha():letters += 1elif c.isspace():space += 1elif c.isdigit():digit += 1else:others += 1
print ('char = %d,space = %d,digit = %d,others = %d' % (letters,space,digit,others))
输出:5201314 笨小孩
18.题目:
求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制。
程序分析:关键是计算出每一项的值。
from functools import reduceTn = 0
Sn = []
n = int(input('n = '))
a = int(input('a = '))
for count in range(n):Tn = Tn + aa = a * 10Sn.append(Tn)print (Tn)Sn = reduce(lambda x,y : x + y,Sn)
print ("计算和为:",Sn)
输出: