Python For loops程序打印出一个矩形

Python For loops程序打印出一个矩形,python,for-loop,rectangles,Python,For Loop,Rectangles,我在编写带有for循环的程序时遇到问题。我不知道该怎么做,但我首先循环了一个包含数字的字符串。现在我需要复制一个字符串“#”,其中包含该数字中的各个数字,例如,我想通过从“274878”复制2来复制字符串“#”。这是我目前的代码: bars_string = input('Enter bars string:\n ') print('+---------+') for element in bars_string: pass 这是给定数字字符串的预期输出: Enter bars strin

我在编写带有for循环的程序时遇到问题。我不知道该怎么做,但我首先循环了一个包含数字的字符串。现在我需要复制一个字符串“#”,其中包含该数字中的各个数字,例如,我想通过从“274878”复制2来复制字符串“#”。这是我目前的代码:

bars_string = input('Enter bars string:\n ')
print('+---------+')
for element in bars_string:
  pass
这是给定数字字符串的预期输出:

Enter bars string:
2378945
+---------+
|##       |
|###      |
|#######  |
|######## |
|#########|
|####     |
|#####    |
+---------+

为此,您需要将
#
元素以整数形式相乘。在python中,您可以用一个数字对字符串进行乘法!代码如下:

bars_string = input('Enter bars string:\n ')
#2378945
for element in bars_string:
  print('#'*int(element))

为此,您需要将
#
元素以整数形式相乘。在python中,您可以用一个数字对字符串进行乘法!代码如下:

bars_string = input('Enter bars string:\n ')
#2378945
for element in bars_string:
  print('#'*int(element))

您可以这样做:

bars_string = input('Enter bars string:\n ')
digits = list(map(int, bars_string))
max_digit = max(digits)

print("+" + "-"*max_digit + "+")
for digit in digits:
  print("|" + "#"*digit + " "*(max_digit - digit) + "|")

print("+" + "-"*max_digit + "+")

您可以这样做:

bars_string = input('Enter bars string:\n ')
digits = list(map(int, bars_string))
max_digit = max(digits)

print("+" + "-"*max_digit + "+")
for digit in digits:
  print("|" + "#"*digit + " "*(max_digit - digit) + "|")

print("+" + "-"*max_digit + "+")

您可以使用格式字符串:

barString = "2378945"

print("+---------+")
print(*(f"|{'#'*int(n):9}|" for n in barString),sep="\n")
print("+---------+")


+---------+
|##       |
|###      |
|#######  |
|######## |
|#########|
|####     |
|#####    |
+---------+

您可以使用格式字符串:

barString = "2378945"

print("+---------+")
print(*(f"|{'#'*int(n):9}|" for n in barString),sep="\n")
print("+---------+")


+---------+
|##       |
|###      |
|#######  |
|######## |
|#########|
|####     |
|#####    |
+---------+

把它拆成碎片。给定数字
2
,您知道如何打印2
#
s吗?如果是这样的话,您总共需要跟随9个字符,那么您知道您还需要在它之后打印
9-2==7
空格;但是,如果你知道如何打印两个
#
,你也应该能够使用这些知识打印7个空格。无论如何,试着把问题分解成几部分,并实施每一部分,然后询问你被卡住的具体部分,而不是让别人只为你做工作。把它分解成几部分。给定数字
2
,您知道如何打印2
#
s吗?如果是这样的话,您总共需要跟随9个字符,那么您知道您还需要在它之后打印
9-2==7
空格;但是,如果你知道如何打印两个
#
字符,你也应该能够使用这些知识打印7个空格。无论如何,试着把问题分解成几个部分,并实现每个部分,然后询问你遇到的具体问题,而不是让别人帮你完成工作。