【问题标题】:python ASCII art - british flagpython ASCII艺术 - 英国国旗
【发布时间】:2015-04-19 15:31:09
【问题描述】:

我需要使用范围和函数来打印英国国旗。我已经确定我需要三个单独的范围来打印。 range(5) 用于顶部的两个三角形、单斜线和顶部红十字的前三个中线。我认为 repeate() 函数将用于标志的后半部分,或者我将反转前半部分的理由。

从左到右的水平线是一个简单的 47 行字母,底部范围与顶部相同,只是翻转。

我的范围代码只是一个 红色、白色和蓝色本身就是函数。

for t in range(5):
    print(red(1, "R") + white(3, " ") + blue(8, "B") + white(2, " ") 
+ red(2, "R") + red(3, "R") + white(2, " ") + blue(8, "B") + 
white(2, " ") + red(1, "R"))

我的问题是我需要知道如何使用一个打印语句将每个打印行与范围偏移,以便我采取

R   BBBBBBBB  BBBBBBBB  R
R   BBBBBBBB  BBBBBBBB  R
R   BBBBBBBB  BBBBBBBB  R
R   BBBBBBBB  BBBBBBBB  R
R   BBBBBBBB  BBBBBBBB  R

把它变成这样的东西

R     BBBBBB  RRRRR  BBBBBB  R
 RR    BBBBB  RRRRR  BBBBB  RR
   RR   BBBB  RRRRR  BBB   RR
     RR   BB  RRRRR  BB   RR
       RR  B  RRRRR  B  RR

请记住,这必须在终端中打印,因此我使用字母来表示应该打印的颜色。我没有上述图像与我需要的尺寸比,但这是一个简单的数学问题,我可以自己做。 (总共 47 个字符,向下 15 个字符)

【问题讨论】:

  • 撇开格式问题不谈,我的问题还是一样。如何从单个范围打印多行,每次打印时形状不同?为什么您的网站使格式化如此困难?代码的出现方式是我输入的方式,如果有一些特殊字符必须先输入,那么应该在某种说明手册中更清楚地解释。
  • 您投了反对票,因为您的问题听起来很像家庭作业,并且您希望其他人为您做这件事。这个网站上的家庭作业问题是可以的,但你需要向人们展示解决问题的努力,只有这样你才能获得帮助。
  • 我说我唯一的问题是我不知道如何更改打印语句。其他一切都已完成。似乎没有关于在大于 1 的范围内更改打印语句行的信息。
  • 这个项目已经完成,只需要在范围循环中创建变量,例如a = a + 1,您就可以更改范围打印语句。

标签: python function printing range


【解决方案1】:

编辑 2:

在澄清问题后,我完全重写了它。

您将要做的是创建一个类或完全手动对其进行编程。课程的开始是:

class FlagDrawer(object):

    def __init__(lines, colors,....):
        lines = self.lines
        colors = self.colors
        other variables

    def make_lines(self.lines):
        for lines in range(self.lines):

    .
    .
    .

如果您只是将此标志用于一项特定任务,并且仅使用一个标志,我建议您手动编写它并用三引号将其括起来,即(''' text ''')。有一些关于在制作表格时为图片保留相同的文字并为您的旗帜使用相同的想法的文章。

【讨论】:

  • 感谢您发布答案。我认为在解释我的红色、蓝色和白色功能时可能存在一些错误。因为我的彩色功能就是你刚才解释的。它们允许我输入整数和字符串。因此,当我调用 red(2, "R") 时,我得到了 RR。所以当我调用 print(red(5, "#") + blue(6, "@")) 时,我会打印出#####@@@@@@ 我的问题是塑造范围(5)打印根据我放入 print 语句的内容制作五行。
  • 你要做的是使用一个类来为一行做特定的事情。 (这是假设你想对多条线或颜色做同样的事情)或者只是手动编程。
  • 你能推荐任何教某人如何编程课程的帖子或书籍吗?
  • 这里link有一个很好的python和类教程link,我个人最喜欢从新手到专业的Python入门。
猜你喜欢
  • 2018-10-26
  • 2012-01-05
  • 2014-11-26
  • 1970-01-01
  • 1970-01-01
  • 2016-11-06
  • 1970-01-01
  • 1970-01-01
  • 2022-11-04
相关资源
最近更新 更多