练习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)