Python 1000 道练习题(9) python例题1000道

liftword4个月前 (12-25)技术文章48

在Python中,for循环用于打印各种种图案是最常见的编程问题。大多数打印模式都使用以下概念来控制输出:

  • 外部循环打印行数
  • 内部循环打印列数
  • 根据所需的空白位置,控制打印空白的变量
  • 上一篇文章,我们和大家一起学习了简单的三角形金字塔输出;大家自己尝试去写一遍了吗?下面让我们来继续尝试使用Python进行控制台图形的输出练习吧

    1.输出倒三角形金字塔模型

    rows = 10
      
    # 使用 k 来控制打印输出空格
    k = 2 * rows - 2  
    # 外循环,变量逆序循环 
    for i in range(rows, -1, -1):  
        # 这个内循环控制空格输出数量 
        for j in range(k, 0, -1):  
            print(end=" ")  
        k = k + 1  
        # 这个内循环控制输出星号 * 的数量
        for j in range(0, i + 1):  
            print("*", end=" ")  
        print("")  
    

    输出:

                      * * * * * * * * * * *
                       * * * * * * * * * *
                        * * * * * * * * *
                         * * * * * * * *
                          * * * * * * *
                           * * * * * *
                            * * * * *
                             * * * *
                              * * *
                               * *
                                *
    

    2.输出菱形金字塔模型

    rows = 10
      
    # k 为空值空格输出的变量 
    k = 2 * rows - 2  
    # 外循环控制打印行数 
    for i in range(0, rows):  
        # 这个内循环控制输出空格数
        for j in range(0, k):  
            print(end=" ")  
        # k 递减
        k = k - 1  
        # 这个内循环控制输出星号 * 数量
        for j in range(0, i + 1):  
            print("* ", end="")  
        print("")  
      
    # 输出倒三角金字塔
    # k 为空值空格输出的变量 
    k = rows - 2  
    # 逆序循环
    for i in range(rows, -1, -1):  
        # 这个内循环控制输出空格数 
        for j in range(k, 0, -1):  
            print(end=" ")  
        # k 递增 
        k = k + 1  
        # 这个内循环控制输出星号 * 数量 
        for j in range(0, i + 1):  
            print("* ", end="")  
        print("")  
    

    输出:

                      *
                     * *
                    * * *
                   * * * *
                  * * * * *
                 * * * * * *
                * * * * * * *
               * * * * * * * *
              * * * * * * * * *
             * * * * * * * * * *
            * * * * * * * * * * *
             * * * * * * * * * *
              * * * * * * * * *
               * * * * * * * *
                * * * * * * *
                 * * * * * *
                  * * * * *
                   * * * *
                    * * *
                     * *
                      *
    

    3.输出侧边金字塔模型

    rows = 10
      
    # 外循环控制打印行数
    for i in range(0, rows):  
        # 内循环控制打印星号 * 数量  
        for j in range(0, i + 1):  
            print("*", end=' ')  
        # 每次迭代后变换行 
        print(" ")  
    # 逆序再次输出打印一次
    for i in range(rows + 1, 0, -1):  
        for j in range(0, i - 1):  
            print("*", end=' ')  
        print(" ")  
    

    输出:

    *
    * *
    * * *
    * * * *
    * * * * *
    * * * * * *
    * * * * * * *
    * * * * * * * *
    * * * * * * * * *
    * * * * * * * * * *
    * * * * * * * * * *
    * * * * * * * * *
    * * * * * * * *
    * * * * * * *
    * * * * * *
    * * * * *
    * * * *
    * * *
    * *
    *
    

    4.输出漏斗金字塔模型

    rows = 10
    k = rows - 2  
    # 打印输出倒金字塔模型
    for i in range(rows, -1 , -1):  
        for j in range(k , 0 , -1):  
            print(end=" ")  
        k = k + 1  
        for j in range(0, i+1):  
            print("* " , end="")  
        print()  
      
    # 打印输出正金字塔模型
    k = 2 * rows  - 2  
    for i in range(0 , rows+1):  
        for j in range(0 , k):  
            print(end=" ")  
        k = k - 1  
        for j in range(0, i + 1):  
            print("* ", end="")  
        print()  
    

    输出:

            * * * * * * * * * * *
             * * * * * * * * * *
              * * * * * * * * *
               * * * * * * * *
                * * * * * * *
                 * * * * * *
                  * * * * *
                   * * * *
                    * * *
                     * *
                      *
                      *
                     * *
                    * * *
                   * * * *
                  * * * * *
                 * * * * * *
                * * * * * * *
               * * * * * * * *
              * * * * * * * * *
             * * * * * * * * * *
            * * * * * * * * * * *
    

    今天和大家一起使用Python输出了一些更复杂的金字塔模型,大家都学会了吗? 欢迎大家关注:Python学徒,一起学习Python吧!

    相关文章

    吐血整理python最全习题100道(含答案)题目,建议收藏

    Python100道经典练习题当前计算机语言最火的python占据我们生活的各个方面,人工智能、云计算、5G发展、汽车工业、互联网加行业等。话不多说,所谓磨刀不误砍柴工,掌握一门编程语言的最佳方法就是...

    150道Python练习题,三天练完 python入门100题

    很多正在学习数据分析或人工智能的小伙伴,很苦恼Python到底要这么学?这150道Python题做完以后相信你会有很大的改变的!完整版已经打包好了↓↓↓...

    超硬核!这52道习题直接带你从零开始学Python(附新手练习题册)

    前言:今天的内容是专为准备或刚踏入Python编程学习之路的同学而准备的~Python入门题册概况这本小书的目的是让你起步编程。虽然书名说是"笨办法",但其实并非如此.所谓的“笨办法&...

    Python练习题2 python题目及答案

    题目1:快速构造二维数组[[1, 2, 3, 4], [-1, -2, -3, -4], [1, 2, 3, 4], [-1, -2, -3, -4]]# using nested while-loo...

    超级详细干货!100道Python练习题(基础·实用)

    Python是当下很热门的一种编程语言,作为大学生很有必要学习,这里总结了常见的100个编程例题,希望能帮到大家!PDF版已经打包好了...

    Python 100道必刷练习题??每日一题 ??

    今天给大家准备100道编程练习这些题如果能坚持每天至少完成一道,一定可以帮大家轻松 get Python 编程技能,大家加油哦!!更多PDF获取:...