Python For loops程序打印出一个矩形
我在编写带有for循环的程序时遇到问题。我不知道该怎么做,但我首先循环了一个包含数字的字符串。现在我需要复制一个字符串“#”,其中包含该数字中的各个数字,例如,我想通过从“274878”复制2来复制字符串“#”。这是我目前的代码: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
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个空格。无论如何,试着把问题分解成几个部分,并实现每个部分,然后询问你遇到的具体问题,而不是让别人帮你完成工作。