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

while循環app

  • 打印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);

嵌套循環orm

  • 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,continuerem

  • 請用戶輸入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));

列表input

  • 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循環

  • 輸出菱形
  • 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;
相關文章
相關標籤/搜索