• 7.12_python_lx_practise


    # ### 单项循环的练习
    # 1.打印一行十个小星星 help函数查看帮助文档

    i = 0
    while i<10:
      print("☆",end="")
      i+=1 
    for i in range(10):
      print("☆",end="")

    # 2.通过打印变量实现一行十个小星星

    strvar = ("")
    i = 0
    while i<10:
      strvar+="☆"
      i+=1
    print(strvar)

    # 3.打印一行十个小星星,奇数个位★,偶数个位☆

    i = 0
    while i<10:
      if i%2==1:
        print("★",end="")
      if i%2==0:
        print("☆",end="")
      i+=1

    # 4.一个循环打印十行十列的小星星

    for i in range(100):
      print("☆",end="")
      if i %10==9:
        print()

    # 5.一个循环打印十行十列隔列换色的小星星

    for i in range(100):
      if i %2==0:
        print("★",end="")
      elif i %2==1:
        print("☆",end="")   if i %10==9:     print()

    # 6.一个循环打印十行十列隔行换色的小星星

    for i in range(100):
      if i //10%2 ==0:
        print("★",end="")
      else:
        print("☆",end="")
      if i %10==9:
        print()

    ## 双向循环的经典练习
    # 1.打印十行十列小星星(2个循环)

    while循环

    i = 0
    while i<10:
      j = 0
      while j<10:
        print("★",end="")
        j+=1
      print()	
      i+=1
    

    for循环

    for i in range(10):
      for j in range (10):
        print("☆",end="")
      print()

    # 2.打印十行十列小星星(搁列换色小星星)

    while循环

    i = 0
    while i<10:
      j = 0
      while j<10:
        if j%2==0:
          print("☆",end="")
        else:
          print("★",end="")
        j+=1	
      print()
      i+=1
    

    for循环

    for i in range(10):
      for j in range(10):
        if j%2==0:
          print("☆",end="")
        else:
          print("★",end="")
      print()

    # 3.打印十行十列小星星(搁行换色小星星)

    while循环

    i=0
    while i<10:
      j = 0
      while j<10:     if i%2==0:       print("☆",end="")     else:       print("★",end="")     j+=1   print()   i+=1

    for循环

    for i in range(10):
      for j in range(10):
        if i%2 == 0:
          print("☆",end="")
        else:
          print("★",end="")
      print()

    # 4.99乘法表

    #方法一

    while循环

    i = 1
    while i<=9:
      j=1
      while j<=i:
        print("%d*%d=%2d"%(i,j,i*j),"",end="")
        j+=1   print()   i+=1

    for循环

    for i in range(1,10):
    	for j in range (1,i+1):
    		print("%d*%d=%2d"%(i,j,i*j),"",end="")
    	print()

    # 方法二

    while循环

    i = 9
    while i>0:
    	j = 1
    	while j<=i:
    		print("%d*%d=%2d"%(i,j,i*j),"",end="")
    		j+=1
    	print()	
    	i-=1

    for循环

    for i in range(9,0,-1):
    	for j in range (1,i+1):
    		print("%d*%d=%2d"%(i,j,i*j),"",end="")
    	print()

    # 方法三

    while循环

    i = 1
    while i<=9:
        k=9-i
        while k>0:
            print("       ",end="")
            k-=1
        j=1
        while j<=i:
            print("%d*%d=%2d"%(i,j,i*j),"",end="")
            j+=1
        print()
        i+=1

     

    for循环

    for i in range(1,10):
        for k in range(1,10-i):
            print("       ",end="")
        for j in range(1,i+1):
                print("%d*%d=%2d"%(i,j,i*j),"",end="")

    # 方法四

    while循环

    i = 9
    while i >0:
        k = 9-i
        while k >0:
            print("       ",end="")
            k-=1
        j = 1
        while j<=i:
            print("%d*%d=%2d"%(i,j,i*j),"",end="")
            j+=1
        print()
        i-=1

    for循环

    for i in range(9,0,-1):
        for k in range (1,10-i):
            print("       ",end="")
        for j in range(1,i+1):
            print("%d*%d=%2d"%(i,j,i*j),"",end="")
        print()

    #5.吉利数字 100~999
    # 方法一

    while循环

    i = 100
    while i<1000:
        gewei = i%10
        shiwei = i // 10 %10
        baiwei = i // 100
        if gewei == shiwei and shiwei == baiwei:
            print(i)
        elif shiwei == gewei-1 and shiwei == baiwei + 1:
            print(i)
        elif shiwei == gewei+1 and shiwei == baiwei - 1:
            print(i)
        i+=1

    for循环

    for i in range(100,1000):
        gewei = i % 10
        shiwei = i // 10 % 10
        baiwei = i //100
        if shiwei == gewei+1 and shiwei == baiwei - 1:
            print(i)
        elif shiwei == baiwei ==gewei:
            print(i)
        elif shiwei == gewei-1 and shiwei == baiwei +1:
            print(i)

    # 方法二

    while循环

    i = 100
    while i<1000:
        strvar = str(i)
        baiwei = int(strvar[0])
        shiwei = int(strvar[1])
        gewei = int(strvar[2])
        if gewei == shiwei and shiwei == baiwei:
            print(i)
        elif shiwei == gewei-1 and shiwei == baiwei + 1:
            print(i)
        elif shiwei == gewei+1 and shiwei == baiwei - 1:
            print(i)
        i+=1

    for循环

    for i in range(100,1000):
        strvar = str(i)
        baiwei = int(strvar[0])
        shiwei = int(strvar[1])
        gewei = int(strvar[2])
        if gewei == shiwei and shiwei == baiwei:
            print(i)
        elif shiwei == gewei-1 and shiwei == baiwei + 1:
            print(i)
        elif shiwei == gewei+1 and shiwei == baiwei - 1:
            print(i)
        i+=1

    #6.百钱买百鸡
    公1元1只 母3元1只 小5毛一只
    100元买100只鸡有多少种买法?
    while循环

    gongji = 0
    num = 0
    while gongji <=100:
        muji = 0
        while muji <=33:
            xiaoji = 0
            while xiaoji<=100:
                if gongji+xiaoji+muji==100 and gongji*1+xiaoji*0.5+muji*3==100:
                    num+=1
                    print(gongji,xiaoji,muji)
                xiaoji+=1
            muji+=1
        gongji+=1
    print(num)

    for循环

    num = 0
    for gongji in range(101):
        for muji in range(34):
            for xiaoji in range(100):
                if gongji + muji +xiaoji==100 and gongji*1+muji*3+xiaoji*0.5==100:
                    num+=1
                    print(gongji,muji,xiaoji)
    print(num)

    #7.(升级题)打印菱形小星星

         *
        ***
       *****
      *******
     *********
    ***********
    ***********
     *********
      *******
       *****
        ***
         *
    while循环

    i = 1
    while i <=6:
        k = 6-i
        while k>0:
            print(" ",end="")
            k-=1
        j = 2*i-1
        while j>0:
            print("*",end="")
            j-=1
        print()
        i+=1
    i = 6
    while i >0:
        k = 6-i
        while k>0:
            print(" ",end="")
            k-=1
        j=2*i-1
        while j>0:
            print("*",end="")
            j-=1
        print()
        i-=1

    for循环

    for i in range(1,7):
        for k in range(1,7-i):
            print(" ",end="")
        for j in range(1,2*i):
            print("*",end="")
        print()    
    for i in range (6,0,-1):
        for k in range(0,6-i):
            print(" ",end="")
        for j in range(1,2*i):
            print("*",end="")
        print()
  • 相关阅读:
    Win10 安装GNU 编译器(gcc、g++ 和 gfortran)
    三维地图制作 数据选型 相关参考资料
    借助mapshaper的简化来修复geojson的拓扑错误
    一种改进后的turf.idw算法
    基于Geojson的点集的抽稀Js实现
    OL3-Cesium 二三维鼠标事件统一处理
    About TopoJSON
    基于 geojson数据类型面转线Transforms Polygons and MultiPolygons to LineStrings.
    数据库文档编写辅助脚本
    Extensible Messaging and Presence Protocol (XMPP): Core
  • 原文地址:https://www.cnblogs.com/Magicianlx/p/13289170.html
Copyright © 2020-2023  润新知