如何用 Python 打印图案

在 Python 中,for循环用于打印各种模式。打印各种图案是面试中最常见的编程问题。多重循环用于打印图案,其中第一个外部循环用于打印行数,内部循环用于打印列数。大多数模式使用以下概念。

  • 打印行数的外部循环。
  • 内部循环打印列数。
  • 根据 Python 中所需位置打印空白的变量。

在本教程中,我们将讨论一些常见的模式。

在本节中,我们将学习常见的金字塔模式。

示例-


# This is the example of print simple pyramid pattern
n = int(input("Enter the number of rows"))
# outer loop to handle number of rows
for i in range(0, n):
    # inner loop to handle number of columns
    # values is changing according to outer loop
        for j in range(0, i + 1):
            # printing stars
            print("* ", end="")     

        # ending line after each row
        print()

输出:

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

说明:

在上面的代码中,我们已经初始化了n个变量来输入模式的行数。我们输入 n = 5,循环的外部范围将是 0 到 4。

  • 内部 for循环的迭代取决于外部循环。内部循环负责打印列数。
  • 第一次迭代,I 的值是 0,增加了 1,所以变成了 0+1,现在第一次内循环迭代,打印一颗星(*)。
  • 在第二次迭代中,I 的值是 1,它增加了 1,所以它变成了 1+1,现在内部循环迭代了两次并打印了两个星号(*)。
  • end 参数防止跳转到另一行。它将打印星形,直到循环有效。
  • 最后一个打印语句负责结束每行后的行。

示例-


# This is the example of print simple reversed right angle pyramid pattern
rows = int(input("Enter the number of rows:"))
k = 2 * rows - 2  # It is used for number of spaces
for i in range(0, rows):
    for j in range(0, k):
        print(end=" ")
    k = k - 2   # decrement k value after each iteration
    for j in range(0, i + 1):
        print("* ", end="")  # printing star
    print("")

输出:

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

代码-


rows = int(input("Enter the number of rows: "))

# the outer loop is executing in reversed order
for i in range(rows + 1, 0, -1):  
    for j in range(0, i - 1):
        print("*", end=' ')
    print(" ")

输出:

Enter the number of rows: 5
* * * * *  
* * * *  
* * *  
* *  
*  

代码-


n = int(input("Enter the number of rows: "))
m = (2 * n) - 2
for i in range(0, n):
    for j in range(0, m):
        print(end=" ")
    m = m - 1  # decrementing m after each loop
    for j in range(0, i + 1):
        # printing full Triangle pyramid using stars
        print("* ", end=' ')
    print(" ")

输出:

Enter the number of rows: 10
                  *   
                 *  *   
                *  *  *   
               *  *  *  *   
              *  *  *  *  *   
             *  *  *  *  *  *   
            *  *  *  *  *  *  *   
           *  *  *  *  *  *  *  *   
          *  *  *  *  *  *  *  *  *   
         *  *  *  *  *  *  *  *  *  *   

代码-


rows = int(input("Enter the number of rows: "))

# It is used to print space
k = 2 * rows - 2
# Outer loop in reverse order
for i in range(rows, -1, -1):
    # Inner loop will print the number of space.
    for j in range(k, 0, -1):
        print(end=" ")
    k = k + 1
    # This inner loop will print the number o stars
    for j in range(0, i + 1):
        print("*", end=" ")
    print("")

输出:

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

代码-


rows = int(input("Enter the number of rows: "))

# It is used to print the space
k = 2 * rows - 2
# Outer loop to print number of rows
for i in range(0, rows):
    # Inner loop is used to print number of space
    for j in range(0, k):
        print(end=" ")
    # Decrement in k after each iteration
    k = k - 1
    # This inner loop is used to print stars
    for j in range(0, i + 1):
        print("* ", end="")
    print("")

# Downward triangle Pyramid
# It is used to print the space
k = rows - 2
# Output for downward triangle pyramid
for i in range(rows, -1, -1):
    # inner loop will print the spaces
    for j in range(k, 0, -1):
        print(end=" ")
    # Increment in k after each iteration
    k = k + 1
    # This inner loop will print number of stars
    for j in range(0, i + 1):
        print("* ", end="")
    print("")

输出:

Enter the number of rows: 8
              * 
             * * 
            * * * 
           * * * * 
          * * * * * 
         * * * * * * 
        * * * * * * * 
       * * * * * * * * 
      * * * * * * * * * 
       * * * * * * * * 
        * * * * * * * 
         * * * * * * 
          * * * * * 
           * * * * 
            * * * 
             * * 
              *

代码-


rows = input("Enter the number of rows: ")

# Outer loop will print the number of rows
for i in range(0, rows):
    # This inner loop will print the stars
    for j in range(0, i + 1):
        print("*", end=' ')
    # Change line after each iteration
    print(" ")
# For second pattern
for i in range(rows + 1, 0, -1):
    for j in range(0, i - 1):
        print("*", end=' ')
    print(" ")

输出:

Enter the number of rows: 7
*  
* *  
* * *  
* * * *  
* * * * *  
* * * * * *  
* * * * * * *  
* * * * * * *  
* * * * * *  
* * * * *  
* * * *  
* * *  
* *  
*

代码-


rows = int(input("Enter the number of rows: "))
k = rows - 2
# This is used to print the downward pyramid
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()

# This is used to print the upward pyramid
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()

输出:

Enter the number of rows: 5
   * * * * * * 
    * * * * * 
     * * * * 
      * * * 
       * * 
        * 
        * 
       * * 
      * * * 
     * * * * 
   * * * * * 
  * * * * * *

我们已经讨论了用于循环的基本金字塔模式。模式的概念取决于 for循环的逻辑和正确使用。

在这一节中,我们描述了几种不同类型的数字模式的程序。让我们逐一了解以下模式。

代码-


rows = int(input("Enter the number of rows: "))
# Outer loop will print number of rows
for i in range(rows+1):
    # Inner loop will print the value of i after each iteration
    for j in range(i):
        print(i, end=" ")  # print number
    # line after each row to display pattern correctly
    print(" ")

输出:

Enter the number of rows: 5
1  
2 2  
3 3 3  
4 4 4 4  
5 5 5 5 5  

解释-

在上面的代码中,我们已经根据行值打印了数字。第一行打印一个数字。接下来,两个数字打印在第二行,接下来的三个数字打印在第三行,以此类推。在……里

代码-


rows = int(input("Enter the number of rows: "))

# This will print the rows
for i in range(1, rows+1):
    # This will print number of column
    for j in range(1, i + 1):
        print(j, end=' ')
    print("")

输出:

Enter the number of rows: 5
1 
1 2 
1 2 3 
1 2 3 4 
1 2 3 4 5

在上面的代码中,我们在内部 for循环中打印了列值 j。

代码-


rows = int(input("Enter the number of rows: 5"))
k = 0
# Reversed loop for downward inverted pattern
for i in range(rows, 0, -1):
    # Increment in k after each iteration
    k += 1
    for j in range(1, i + 1):
        print(k, end=' ')
    print()

输出:

Enter the number of rows: 5
1 1 1 1 1 
2 2 2 2 
3 3 3 
4 4 
5

说明:

在上面的代码中,我们使用了反向循环来打印向下的倒金字塔,其中数字在每次迭代后都会减少。

代码-


rows = int(input("Enter the number of rows: "))
# rows value assign to n variable
n = rows
# Download reversed loop
for i in range(rows, 0, -1):
    for j in range(0, i):
        # this will print the same number
        print(n, end=' ')
    print()

输出:

Enter the number of rows: 6
6 6 6 6 6 6 
6 6 6 6 6 
6 6 6 6 
6 6 6 
6 6 
6

代码-


rows = int(input("Enter the number of rows: "))
# Downward loop for inverse loop
for i in range(rows, 0, -1):
    n = i   # assign value to n of i after each iteration
    for j in range(0, i):
        # print reduced value in each new line
        print(n, end=' ')
    print("\r")

输出:

Enter the number of rows: 6
6 6 6 6 6 6 
5 5 5 5 5 
4 4 4 4 
3 3 3 
2 2 
1

代码-


current_Number = 1
stop = 2
rows = 3  # Number of rows to print numbers

for i in range(rows):
    for j in range(1, stop):
        print(current_Number, end=' ')
        current_Number += 1
    print("")
    stop += 2

输出:

1 
2 3 4 
5 6 7 8 9

代码-


rows = int(input("Enter the number of rows: "))
for i in range(0, rows + 1):
    # inner loop for decrement in i values
    for j in range(rows - i, 0, -1):
        print(j, end=' ')
    print()

输出:

Enter the number of rows: 6
6 5 4 3 2 1 
5 4 3 2 1 
4 3 2 1 
3 2 1 
2 1 
1

代码-


rows = int(input("Enter the number of rows: "))
i = 1
# outer file loop to print number of rows
while i <= rows:
    j = 1
    # Check the column after each iteration
    while j <= i:
        # print odd values
        print((i * 2 - 1), end=" ")
        j = j + 1
    i = i + 1
    print()

输出:

Enter the number of rows: 5
1 
3 3 
5 5 5 
7 7 7 7 
9 9 9 9 9

代码-


rows = int(input("Enter the number of rows: "))
for i in range(1, rows + 1):
    for j in range(1, rows + 1):
        # Check condition if value of j is smaller or equal than
        # the j then print i otherwise print j
        if j <= i:
            print(i, end=' ')
        else:
            print(j, end=' ')
    print()

输出:

Enter the number of rows: 5
1 2 3 4 5 
2 2 3 4 5 
3 3 3 4 5 
4 4 4 4 5 
5 5 5 5 5

rows = int(input("Enter the number of rows: "))
for i in range(1, rows):
    for j in range(1, i + 1):
        # It prints multiplication or row and column
        print(i * j, end='  ')
    print()

输出:

Enter the number of rows: 8
1  
2  4  
3  6  9  
4  8  12  16  
5  10  15  20  25  
6  12  18  24  30  36  
7  14  21  28  35  42  49  

在上面的部分,我们已经讨论了所有基本的数字模式。它将在 Python 上为循环生成一个强命令。我们可以使用任何类型的循环模式。

我们知道,每个字母表都有自己的 ASCII 值,所以定义一个字符并将其打印到屏幕上。让我们通过下面的例子来理解这些模式

代码-


print("The character pattern ")
asciiValue = 65     #ASCII value of A
for i in range(0, 5):
    for j in range(0, i + 1):
        # It will convert the ASCII value to the character
        alphabate = chr(asciiValue)
        print(alphabate, end=' ')
        asciiValue += 1
    print()

输出:

The character pattern 
A 
B C 
D E F 
G H I J 
K L M N O

解释-

在上面的代码中,我们将整数值 65 赋给了ASCII 值变量,它是一个 ASCII 值 a。我们为循环定义了打印五行。在内部循环体中,我们使用 char()函数将 ASCII 值转换为字符。它将打印字母,在每次迭代后增加 asciiValue。

代码-


print("The character pattern ")
asciiValue = int(input("Enter the ASCII value to print pattern: "))
# User - define value
if (asciiValue >= 65 or asciiValue <=122):
    for i in range(0, 5):
        for j in range(0, i + 1):
            # It will convert the ASCII value to the character
            alphabate = chr(asciiValue)
            print(alphabate, end=' ')
        print()
else:
    print("Enter the valid character value")

输出:

The character pattern 
Enter the ASCII value to print pattern: 75
K 
K K 
K K K 
K K K K 
K K K K K

代码-


str1 = "JavaTpoint"
x = ""
for i in str1:
    x += i
    print(x)

输出:

J
Ja
Jav
Java
JavaT
JavaTp
JavaTpo
JavaTpoi
JavaTpoin
JavaTpoint

我们可以用任何单词来打印字符。

代码-


print("Print equilateral triangle Pyramid with characters ")
s = 5
asciiValue = 65
m = (2 * s) - 2
for i in range(0, s):
    for j in range(0, m):
        print(end=" ")
    # Decreased the value of after each iteration
    m = m - 1
    for j in range(0, i + 1):
        alphabate = chr(asciiValue)
        print(alphabate, end=' ')
        # Increase the ASCII number after each iteration
        asciiValue += 1
    print()

输出:

Print equilateral triangle Pyramid with characters 
        A 
       B C 
      D E F 
     G H I J 
    K L M N O

在本文中,我们已经讨论了所有基本的模式程序。这些模式在面试中经常被问到,理解 Python for loop 的概念也很有帮助。一旦我们得到了程序的逻辑,我们就可以使用 Python 循环打印任何模式。


原创文章,作者:SY99E,如若转载,请注明出处:https://www.506064.com/n/126203.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
SY99E的头像SY99E
上一篇 2024-10-03 23:07
下一篇 2024-10-03 23:07

相关推荐

  • python聊天机器人开发,Python开发机器人

    本文目录一览: 1、请教大神,python适合机器人吗 2、推荐几个适合新手练手的Python项目 3、python能写微软小冰么 4、如何优雅的用Python玩转语音聊天机器人 …

    编程 2024-10-04
  • RxJava Zip操作详解

    一、Zip操作概述 Zip操作是RxJava中的一种特殊的组合操作,它将多个Observable合并成一个Observable并发射它们的最近排放的一项数据,每个Observabl…

    编程 2024-11-05
  • Python 分布图

    在现代大数据分析环境下,数据可视化已经成为了一种强大的工具,其中最常用的可视化之一就是分布图。Python 作为一种强大的编程语言,在数据分析和可视化方面拥有强大的功能。Pytho…

    编程 2024-12-04
  • mysql最好用的版本,MySQL哪个版本好用

    本文目录一览: 1、mysql哪个版本比较好? 2、mysql应该安装什么版本的 3、就目前来说,mysql用哪个版本比较好啊???我以前没用过,找点建议啊 4、mysql数据库哪…

    编程 2024-11-18
  • Android EditText获取焦点详解

    一、获取焦点的概念 在用户和Android机器交互时,Android机器会记录用户当前操作的组件,也就是当前有焦点的View组件。当用户触摸屏幕上的某个组件或用键盘输入时,当前组件…

    编程 2024-10-03
  • 深入了解Pinia持久化插件

    一、Pinia插件简介 Pinia是Vue.js状态管理库,它的设计思想侧重于简单直观,易于学习和调试。它借鉴了Vuex的一些方法,且从设计上来说更符合Vue.js的特性。通过使用…

    编程 2024-12-02
  • Python字典:如何使用值进行数据统计和分析

    Python字典是一个非常有用的数据结构。除了提供键值对的存储和访问,它还可以用来进行数据统计和分析。本文将介绍如何使用Python字典来分析数据,包括如何计算各种统计数据、如何对…

    编程 2024-11-16
  • 使用MySQL向表中添加数据的方法

    在进行Web开发的过程中,向MySQL表中添加数据是一个常见的操作。本篇文章将从以下几个方面详细阐述如何使用PHP通过MySQL向表中添加数据的方法。 一、连接MySQL数据库 在…

    编程 2024-11-20
  • php的301域名永久性跳转,域名301跳转系统

    本文目录一览: 1、PHP 301跳转问题 2、如何通过PHP实现域名跳转 3、seo中什么是301永久重定向? 4、如何设置指定网址301跳转? 5、怎么做301转向,asp,p…

    编程 2024-12-11
  • JsonObject转对象详解

    一、JsonObject转对象报错 在Json转换过程中,由于数据格式不规范或者不符合要求,可能会导致Json转换成对象时报错。最常见的报错信息就是:Json解析失败、无法将Jso…

    编程 2024-11-17

发表回复

登录后才能评论