if
奇数 1分钟:
>>> a=range(10)
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> n=0
>>> while n ... if n%2==1: ... print a[n] ... n+=1 >>> n=0 >>> while n ... if n%2==1: ... print a[n] ... n+=1 n=0 >>> a="abcefghijk" >>> while n ... if n%2==1: ... print a[n] ... n+=1 int i >>> while i <= 10: ... if i %2 != 0: ... print i ... i += 1 >>> >> a =" 1 2 3 4 5 6 7 8 9 0" >>> a1 = a.split() >>> a1 ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0'] 确定是否是fals 查找一句中有多少字母 s = “I am a boy” >>> count=0 >>> word_list=s.split() >>> word_list ['I', 'am', 'a', 'boy!'] >>> for i in word_list: ... if 'a' in i: ... count+=1 ... >>> print count ncount = 0 s = 'I ama aa boy' s_list = s.split() print s_list for i in range(len(s)): print s[i] if s[i] == 'a': ncount += 1 print 'how many words :%s'%ncount 统计长度 >>> print len(word_list) 4 >>> len("abc") 3 >>> len({1:2}) 死循环 while True: pass 遍历 >>> for i in range(1,11,2): ... print i >>> for i in range(1,11,2): ... print i >>> s="abcedfg" >>> for i in range(len(s)): ... print s[i] 质数 >>> 方法1:使用2-到它本身之间的所有数做除法,没有发生整除,则就是质数 方法2:使用2-到它本身平方根之间的所有数做除法,没有发生整除,则就是质数 #encoding=utf-8 import math number=int(raw_input("input a number:")) for i in range(2,int(math.sqrt(number)+1)): if number %i ==0: print "%s is not prime number " %number break else: print "%s is prime number " %number 小题 a=[1,2,3,4,5,(1,2),(5,6)] >>> for i in a: ... if isinstance(i,(list,tuple)): ... for j in i: ... print j ... else: ... print i for >>> for i in range(5): ... print i ... else: ... print "no break happens!" ... >>> for i in range(5): ... print i ... break ... else: ... print "no break happens!" ... 0 while >>> n=2 >>> while n>=2: ... n-=1 ... else: ... print "no break happens" ... no break happens 习题 >>> for i in range(1,5): ... for j in range(1,6): ... print int(str(i)+str(j)) >>> exec("print 'hello'") hello >>> eval("2*4") 8 Pass 和是否可迭代 from collections import Iterable print isinstance('abc',Iterable) True 退出多重循环方法: class getoutofloop(Exception): pass try: for i in range(5): for j in range(5): for k in range(5): if i == j == k == 3: raise getoutofloop() else: print i, '----', j, '----', k except getoutofloop: pass def test(): for i in range(5): for j in range(5): for k in range(5): if i == j == k == 3: return else: print i, '----', j, '----', k test() 作业一去重:使用尽可能多的方法实现list去重 >>> set([1,1,1,2,2,3,3]) set([1, 2, 3]) >>> list(set([1,1,1,2,2,3,3])) [1, 2, 3] >>> >>> d={} >>> a=[1,1,1,2,2] >>> for i in a: ... d[i]=None ... >>> print d.keys() [1, 2] 算法: 1 声明一个新的list 2 把原list中的元素进行遍历,尝试放入到新list中 3 如果要放入的元素已经在新list中存在了,就不再次放入了,否则就放入 4 打印新list的内容 a=[1,1,2,2,2,2,3,3] for i in a: for j in range(a.count(i)-1): a.remove(i) print a 七种方式去重 # #coding=utf-8 import time time_start=time.time() print u"列表去重的七种方法" print u"第一种测试方法" repeat_list=[1,2,4,1,5,1,2,5] result=[] for i in repeat_list: if i not in result: result.append(i) print u"第一种去重结果: ",result print u"第二种测试方法" repeat_list=[1,2,4,1,5,1,2,5] result={} print u"第二种去重结果: ",list(result.fromkeys(repeat_list)) print u"第三种测试方法" repeat_list=[1,2,4,1,5,1,2,5] print u"第三种去重结果: ",list(set(repeat_list)) print u"第四种测试方法" repeat_list=[1,2,4,1,5,1,2,5] import itertools def test_groupby(x): if x==1: print "lower" elif x>1 and x<4: print "middle" elif x>=4: print "higher" repeat_list=sorted(repeat_list) data=itertools.groupby(repeat_list,key=test_groupby) for i,j in data: print list(j) data=itertools.groupby(repeat_list) result=[] for i,j in data: result.append(i) print u"第四种去重结果: ",result print u"第五种测试方法" repeat_list=[1,2,4,1,5,1,2,5] for i in [j for j in repeat_list if repeat_list.count(i)>1]: for x in range(repeat_list.count(i)-1): repeat_list.remove(i) print u"第五种去重结果: ",repeat_list print u"第六种测试方法" repeat_list=[1,2,4,1,5,1,2,5] i=0 while i<=len(repeat_list)-1: if repeat_list.count(repeat_list[i])>1: repeat_list.pop(i) else: i+=1 print u"第六种去重结果: ",repeat_list print u"第七种测试方法" repeat_list=[1,2,4,1,5,1,2,5] func=lambda x,y:x if y in x else x + [y] print u"第七种去重结果: ",reduce(func,[[],]+repeat_list) print "_"*20 print u"去重程序耗时%f" % (time.time()-time_start) print "_"*20 time.sleep(3) Testing started at 17:38 ... 列表去重的七种方法 第一种测试方法 第一种去重结果: [1, 2, 4, 5] 第二种测试方法 第二种去重结果: [1, 2, 4, 5] 第三种测试方法 第三种去重结果: [1, 2, 4, 5] 第四种测试方法 lower lower lower middle middle higher higher higher [1, 1, 1, 2, 2, 4, 5, 5] 第四种去重结果: [1, 2, 4, 5] 第五种测试方法 第五种去重结果: [4, 1, 2, 5] 第六种测试方法 第六种去重结果: [4, 1, 2, 5] 第七种测试方法 第七种去重结果: [1, 2, 4, 5] ____________________ 去重程序耗时0.001000 ____________________ ================= Process finished with exit code 0 Empty test suite. 3.实现数学中多项式求和公式的打印 result=[] for i in range(6,-1,-1): if i == 0: result.append("a0") break result.append("a%sx^%s" %(i,i)) print "+".join(result 转换: >>> "*".join(["1","2","3"]).split() ['1*2*3'] >>> "*".join(["1","2","3"]).split('*') ['1', '2', '3'] 统计名字列表中,各名字的首字母在名字列表中出现的次数 第一种 name_list=['foster',"janet",'jessus','david'] count_dict={} for i in name_list: count_dict[i]="".join(name_list).count(i[0]) print count_dict 第二种方法 name_list=['foster',"janet",'jessus','david'] count_dict={} for i in name_list: count=0 for j in name_list: if j.count(i[0])>=1: count+=j.count(i[0]) count_dict[i]=count print count_dict 输入三个数,判断是否能构成三角形 import math a,b,c=input("please input three num a,b,c:") d=min(a,b,c) e=max(a,b,c) if d<=0: print "error" elif (a+b+c)>2*e: print U"能组成三角形" else: print u"不能组成三角形" 输入三个数,判断是否能构成三角形 能构成三角形三边关系: 三边都大于零 两边之和大于第三边,两边之差小于第三边



