while循环

  • 打印10个“”hello world“”
  • n=1; while n<11: print("hello world") n+=1;#迭代部分
  • 输出1-100的偶数和、奇数和
  • n=1;sum=0;jishu=0; while n<=100: if n%2==0: sum+=n; else: jishu+=n; n+=1;#迭代部分 print("输出1-100的偶数和是:"+str(sum)); print("输出1-100的奇数和是:" + str(jishu));
  • 请用户输入数字,求1-输入的数字的和,数字直到0退出循环
  • n=int(input ("请输入数字:"));sum=0; while n>0: sum+=n; n-=1 print(sum);
  • 输出1-100中3的倍数、5的倍数及3和5的公倍数
  • n=1; while n<=100: if n%3==0 and n%5==0: print("{0}是3和5的倍数".format(n)); elif n%3==0: print("{0}是3的倍数".format(n)); elif n%5==0: print("{0}是5的倍数".format(n)); n+=1; else: # 当循环正常执行结束后,执行else的语句块 print("循环结束,判断完毕!");

for循环

  • range()函数,会生成有序数列
  • num=range(5);#一个参数 从0开始 到5不包含自己 print(num); for n in range(5,9):#二个参数 从5开始 到9不包含自己 print(n); for n in range(5,55,5):#三个参数 从5开始 到55不包含自己 5为步数 print(n);

嵌套循环

  • for i in range(5):#打印五行* print("*"); for i in range(5):#打印五行五个* for j in range(5): print("*",end=" "); print(); for i in range(5):#打印五行五个*方法2 n=0; while n<5: print("*", end=" "); n+=1; print();
  • 输出直角三角形
  • for i in range(1,6): for j in range(i): print("*",end=""); print();
  • 九九乘法表
  • for i in range(1,10): for j in range(1,i+1): print("{0} * {1}= {2}".format(j,i,j*i),end="\t"); print();
  • 等腰三角形
  • for n in range(1,9): for j in range(8,n,-1): print(" ",end=" "); for k in range(2*n-1): print("*",end=" "); print();

break,continue

  • 请用户输入0-100间的成绩,统计各区间的人数,超出范围内提示重新输入,输入正确提示是否继续
  • a,b,c,d=0,0,0,0 #初始化各个区间的人数 while(True): score=int(input('请输入成绩:')) if score>=90 and score<=100: #区间:[90,100] a+=1 elif score>=80 and score<=89: #区间:[60,90) b+=1 elif score>=60 and score<79: #区间:(0,60) c+=1 elif score >=0 and score < 60: # 区间:(0,60) d+=1 else: print('Error,请重新输入!') continue; #结束本次循环,进入下一次循环,即接着重新输入成绩 inp=input('是否继续:(y/n)') if inp=='n': break; #结束并跳出循环,成绩录入结束,也不会执行else语句块了 else: print('成绩录入完成!'); print('优秀线{0} 良好线{1} 及格{2} 不及格{3}'.format(a,b,c,d));
  • 统计3个班级中,每个班级中3个学生中的成绩大于80的人数
  • count=0; for i in range(1,4): print("第{0}个班级的学生成绩".format(i)); for j in range(1,4): print("第{0}个的学生成绩".format(j)); score=int(input()); if score < 80: continue; count+=1; print("大于80 的学生人数:"+str(count));

列表

  • list1=['baidu','huawei','ali',1998,False,13.3];#创建列表,用逗号分割 print(list1[0]);#访问列表内的数据,用过下标获取 print(list1[:]);#访问所有 print(list1[:2]);#访问范围从下标0开始到下标2结束 print(list1[1:2]);#访问范围从下标1开始到下标2结束 print(list1[1:5:2]);#访问范围从下标0开始到下标5结束,步数为2
  • 列表的增、删、改、查(insert,delete,update,query)
  • #增(.append/.insert/.extend) list1=['baidu','huawei','ali']; list2=['华腾','李彦宏','任正非','马云','东子'] list1.append('append');#一个参数,默认在尾部添加 print(list1); list2.insert(0,'insert');#两个参数,第一个参数代表下标,第二个参数代表添加的参数,需用引号引起来 print(list2); list1.extend(list2); print(list1); list1[0]='aabb';#在下标0处添加新的参数 print(list1);
  • #两个列表进行相加 list3=list1+list2; print(list3); print(list1+list2);
  • #删(del) # list1.pop():把最后一个删除,也可以指定删除的下标 # list1.remove("")删除括号中的内容,但只删除一次 list1=[1,3,5,7,9]; print("没有删除之前:"+str(list1)); del list1[0];#删除下标指定的参数 print("删除之后:"+str(list1)); list1.pop(2); print("pop(2)下标 删除之后:"+str(list1)); list1.pop(2); print("pop(2)下标 删除之后:"+str(list1)); list1.remove(5);#删除括号中的内容,但只删除一次 print("remove(5) 删除之后:"+str(list1));

小练习

  • 输出菱形
  • for i in range(1,9): for j in range(8,i-1,-1): print(" ",end=" ") for k in range(0,i*2-1): print('*',end=" ") print() for l in range(1,9): for m in range(l+1): print(" ",end=" ") for n in range(8*2,l*2+1,-1): print("*",end=" ") print()
  • 求1-100以内的质数
  • i=2;a=[] for i in range(2,101): j=2; for j in range(2,i): if i%j==0: break else: a.append(i) print(a)
  • 斐波那切序列:1,1,2,3,5,8,13,21...
  • i,j=1,1 while i<100: print(i, end=" ") i,j=j,i+j;