For 循环程序打印出一个矩形

问题描述

我在用 for 循环编写程序时遇到问题。我不知道如何去做,但我首先循环了一个包含数字的字符串。现在我需要用该数字中的各个数字复制一个字符串“#”,例如我想通过用来自'274878'的2复制字符串'#'来复制它。到目前为止,这是我的代码

bars_string = input('Enter bars string:\n ')
print('+---------+')
for element in bars_string:
  pass

这是我对给定数字字符串的预期输出

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

解决方法

你可以这样做:

>>> import csv
>>> list(csv.reader(strings,quoting=csv.QUOTE_NONNUMERIC))
[[-1.0,38.0,31857.0],[-1.0,40.0,39304.0],[1582871.0,64.0,445338.0],37.0,29632.0],1.0,82.0],18.0,3613.0],6.0,544.0],23.0,7025.0],34.0,20775.0],[1979527.0,6361.0],10.0,1330.0],17.0,3300.0],11.0,1426.0],8.0,853.0],24.0,7087.0],0.0],[198113.0,79.0,1927770.0],[1763114.0,42.0],[1803615.0,4.0,357.0],-1.0],-1.0]]
,

您可以使用格式字符串:

barString = "2378945"

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


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

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

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