python循环(while、for、嵌套循环)、break,continue、列表

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;

转载于:https://my.oschina.net/u/3764483/blog/1607963

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值