练习1
让用户一直输入数字,如果输入的不是数字就报错,如果输入pc就退出并算出数字之和
#!/usr/bin/evn python total = 0 while True: input = raw_input('input something: ') if input.isdigit(): total += int(input) elif input == 'pc': break else: print "error" print total
练习2
让用户一直输入数字,如果输入的不是数字就报错,如果什么都没有输入就退出。并算出输入数字的平均值
#!/usr/bin/evn python total = 0 input_list = [] while True: input = raw_input('input something: ') if input.isdigit(): input_list.append(int(input)) elif len(input) == 0: break else: print "error" print reduce(lambda x,y:x+y,input_list,0)/len(input_list)
解释:
len 返回序列的长度 >>> len([1,2,3]) 3 内建函数 append(x) 追加到链尾 reduce reduce(function,sequence,[init]) 返回一个单值为,计算步骤为 : 第1个结果=function(sequence[0],sequence[1]) 第2个结果=function(第1个结果,sequence[2]) 返回最后一个计算得值 如 reduce(lambda x,y:x+y,range(3),99) 的计算为 99+0=99 => 99+1=100 => 100+2=102 返回102 注:实际使用中用内建函数sum来完成这个累加更合适,如这里等价sum(range(3),99)
练习3
遍历一个序列 ['C','js','python','js','css','js','html','node'],统计这个序列中,js出现的次数
#!/usr/bin/env python list = ['c','python','js','css','html','node','js'] a={} for i in list: print i if list.count(i)>1: a[i]=list.count(i) print (a)