python - 如何绘制如下所示的 'x' 形状

标签 python

我是Python新手,请有人帮忙画一个如下所示的形状。该程序必须将星星的数量作为输入。

星星数量 = 7

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

我的代码:

count = int(input('star count : '))
pattern_size = count + 1
for t in range(1, pattern_size):
    pattern = list(" " * pattern_size)
    pattern[:t] = "*" * t
    pattern[-t:] = '*' * t
    print(''.join(pattern))

star count :  9
*        *
**      **
***    ***
****  ****
**********
**********
**********
**********
**********

最佳答案

这是一个易于理解的示例,在您的方法中使用了两个 for 循环:一个只是另一个的逆

count = int(input('star count : '))
pattern_size = count + 1
for t in range(1, int(pattern_size/2)):
    pattern = list(" " * pattern_size)
    pattern[:t] = "*" * t
    pattern[-t:] = '*' * t
    print(''.join(pattern))

for t in range(int(pattern_size/2), 0, -1):
    pattern = list(" " * pattern_size)
    pattern[:t] = "*" * t
    pattern[-t:] = '*' * t
    print(''.join(pattern))

更高级的方法是使用字符串方法.center(),如下所示:

count = int(input('star count : '))
pattern_size = count + 1
for t in range(1, int(pattern_size/2)):
    print((" " * (pattern_size-t*2)).center(pattern_size, '*'))
for t in range(int(pattern_size/2), 0, -1):
    print((" " * (pattern_size - t * 2)).center(pattern_size, '*'))

关于python - 如何绘制如下所示的 'x' 形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43405460/

相关文章:

python - 从 python 连接 oracle 的 jdbc 驱动程序

python - 名称错误 : name 'BOTTOM' is not defined

python - Python 中的 Perl?

python - 如何在 python 中添加带有启动/停止 GUI 的计时器

python - 如何在交叉表 Pandas 中获取总计?

python - 如何隐藏 Openpyxl 中的列?

python - Flask Flatpages 文件夹列表。构建错误

python - 在 Pygame 中为矩形赋值时出错

python - 如何在 Python 中使用 ChatGPT 和 langchain 将上下文/聊天历史合并到 OpenAI ChatBot 中?

python - 赫罗库 "Push rejected, failed to compile Python app"