Python中打印图案2025年1月5日 | 17 分钟阅读 模式问题在编程中非常常见。这些问题有助于熟悉程序的流程,也有助于理解如何编写程序以获得所需的输出。模式是使用循环打印的。我们通常使用嵌套循环来打印模式。外层循环定义了模式的行数。同时,内层循环定义了我们需要的模式。我们在内层循环中设置条件。在本教程中,我们将看到打印不同类型模式的程序。打印模式的方法可能不止一种,因此无需遵循一种严格的方法。 简单金字塔模式方法 - 1代码 输出 * * * * * * * * * * * * * * * 时间复杂度:该方法的时间复杂度是非线性的。我们使用了嵌套循环来打印模式。外层循环将迭代 n 次;因此,时间复杂度将是 O(n)。但是,内层循环将从 0 迭代到 n 次,这使得内层循环的最坏时间复杂度为 O(n)。此程序的总时间复杂度为 O(n2)。 空间复杂度:该方法空间复杂度为 O(1)。我们没有使用任何辅助空间来打印模式。 方法 - 2我们可以使用列表打印相同的模式,这样可以简化代码。 代码 输出 * * * * * * * * * * * * * * * 时间复杂度:该方法的时间复杂度是线性的,因为我们使用了一个循环来打印模式。因此,使用列表比使用嵌套循环更好。join 函数的时间复杂度为 O(n);但是,总的来说,复杂度将是 O(n) + O(n)。该方法的平均时间复杂度为 O(n)。 空间复杂度:该方法空间复杂度是线性的,因为我们使用列表来存储模式。因此,该方法的空间复杂度为 O(n) 方法 - 3我们将使用递归方法来打印模式。 代码 输出 * * * * * * * * * * * * * * * 方法 - 4这次,我们将使用 while 循环来打印模式。 代码 输出 * * * * * * * * * * * * * * * 时间复杂度:该方法的时间复杂度为 O(n ^ 2)。我们使用了嵌套循环来打印模式。 空间复杂度:该方法空间复杂度为 O(1),因为我们没有使用任何额外的空间来存储模式。 旋转模式现在,我们将翻转模式并设计程序来打印模式。 方法 - 1代码 输出 * * * * * * * * * * * * * * * 方法 - 2现在,我们将看到一种更好的方法来打印之前的模式 在这个模式中,我们必须打印空格(数字_从_基数 - 行号),然后打印行号次星号。这次,我们将使用 while 循环来打印模式。我们将看到可以使用单个 while 循环打印模式,因此不需要嵌套循环。这将把时间复杂度从非线性降低到线性时间复杂度。以下是此方法实现的 Python 代码 代码 输出 * * * * * * * * * * * * * * * 方法 - 3我们将使用 for 循环编写之前的程序。 代码 输出 * * * * * * * * * * * * * * * 打印三角形方法 - 1代码 输出 * * * * * * * * * * * * * * * 数字模式现在,我们将看到如何使用数字打印模式。 方法 - 1代码 输出 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 方法 - 2在此模式中,我们不必在每一行都从 1 开始。 代码 输出 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 方法 - 3在此模式中,我们将使用数字打印一个三角形。 代码 输出 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 打印字母模式 - 1我们将使用字母打印模式。我们将更新字母的 ASCII 码来打印字母模式。使用 ASCII 码的原因是为了递增字符。 代码 输出 A B B C C C D D D D E E E E E 模式 - 2此程序将连续打印字母,而不是在每一行都从 A 开始。与之前的算法相比,变化在于字符 ASCII 码的递增。在之前的代码中,我们在内层循环完成后,即在外层循环中,递增了代码值。此算法将为每一行递增代码值。在此算法中,我们将在内层循环中递增代码值,从而为每一行的每一列移动到下一个字符。 代码 输出 A B C D E F G H I J K L M N O 模式 - 3在此模式中,我们将打印一个字符三角形。 代码 输出 A A B A B C A B C D A B C D E 复杂模式模式 - 1此程序分为四部分。 代码 输出 ![]() 模式 - 2代码 输出 ![]() 模式 - 3代码 输出 ![]() 模式 - 4代码 输出 \*******/ *\*****/* **\***/** ***\*/*** ****/**** ***/*\*** **/***\** */*****\* /*******\ 模式 - 5代码 输出 4 3 2 1 0 3 2 1 0 2 1 0 1 0 0 模式 - 6代码 输出 1 7 2 12 8 3 16 13 9 4 19 17 14 10 5 21 20 18 15 11 6 打印 G 模式如果我们尝试使用 (行, 列) 矩阵来分析此图像,我们将发现这些过程,其中圆表示模式 G 中星号的位置。在这种情况下,过程是逐列进行的。因此,我们为第一行星号设置第一个 if 条件,该条件表示所有行从 1 到 (n-1) 都将接收星号,而行 0 和 (n-1) 则不会。类似地,我们想要行 = 0 和行 = (n-1) 的第二、第三和第四列中的星号。其余步骤不言而喻,并且从图表的行和列放置中可以清楚看出。 下面是该方法在 Python 中的实现。 代码 输出 ![]() |
Jupyter Notebook 现在已成为研究人员、构建者和数据科学家的全球资源。由于其交互式环境,它可以轻松集成代码、可视化和解释性文本,因此非常适合数据探索、实验和最终结果共享。但是,随着 Notebook 的出现...
阅读 4 分钟
Python 的多功能性和易用性使其成为在各种平台上设计图形用户界面(GUI)的不错选择。Python 包含各种 GUI 包,可以帮助您构建桌面程序、Web 界面或...
18 分钟阅读
简介:在本教程中,我们将学习 time localtime() 方法在 Python 中的用法。Python time localtime() 方法将 Python 时间转换为本地时间。Python 时间计算为自本地时钟相对于系统空间的时间以来经过的秒数....
5 分钟阅读
Python 是一种高级解释型编程语言,以其简洁明了而闻名。它由 Guido van Rossum 创建,主要于 1991 年发布,Python 强调代码可读性和语法,允许程序员用比 C++ 等语言更少的代码行来表达概念...
阅读 4 分钟
? 在 Python 中利用操作系统相关功能的一种方法是使用 OS 模块。它为您提供了访问各种操作系统功能的能力,例如记录操作,包括创建、撤销和重命名记录或目录,以及列出目录内容。pathlib...
5 分钟阅读
逗号分隔值文件 (CSV) 用于存储表格数据。CSV 文件中的数据项由逗号分隔,并以 .csv 扩展名保存。有不同的方法可以处理 CSV 文件并向其中追加数据。这包括:writer() 函数...
7 分钟阅读
Python 列表中最大和最小元素的位置 可以使用下面列出的技术和方法来确定 Python 列表中最小和最大元素的位置:使用原生方法 使用内置函数 使用 Pandas 使用 NumPy 使用原生方法 原生方法可以找到最大和最小...
阅读 6 分钟
在 Python 中,函数参数在定义和自定义函数行为方面起着至关重要的作用。我们有两种传递值给函数参数的方式:关键字参数 位置参数 在本文中,我们将探讨我们可以将值传递给...的上述两种方式。
阅读 6 分钟
使用 numpy.arctan2() 函数计算 arr1/arr2 的逐元素反正切,该函数会正确选择象限。选择象限可确保原点发出的射线与通过点 (1, 0) 和 (x2, x1) 的射线之间的有符号角度(以弧度为单位)为...
阅读 2 分钟
数据库管理简介 管理数据库是构建任何应用程序的基本部分。但是,当您的应用程序增长时,更改数据库结构可能会变得具有挑战性。这就是 Alembic 的用武之地,它使我们能够更轻松地编写复杂的查询。Alembic 是一个...
阅读 4 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India