我试图扭转破折号的等式。
for x in range(1,6):
for slashes in range(1,(x +1),+5):
print("X" +("-" * hello), end = '')
print("X " + "X" + ("/" * x), end = '')
print(("-" * x) +("X"))
输入 -
xxx XXXXXX X---X X/-X X---X X//--X X---X X///---X X---X X////----X X---X X/////-----X
预期产出 -
xxx xxxxxx X---X X/-----X X---X X//----X X---X X///---X X---X X////--X X---X X/////-X
答案 0 :(得分:0)
看起来你想要的是"X---X"
令牌所界定的“进度条”。你想要的在线印刷:
xxx
xxxxxx # I assume this is header?
X---X # first token
X/-----X # one slash
X---X
X//----X # two slashes
X---X
X///---X # three slashes
X---X
X////--X # four slashes
X---X
X/////-X # five slashes ends the output.
因此,每次迭代都应该有num_slashes
和num_dashes
,其中num_dashes
总是常数bar_length
减去斜杠数。
bar_length = 6
for num_slashes in range(1, 6): # 1-5
num_dashes = bar_length - num_slashes
result = "/" * num_slashes + "-" * num_dashes
result = "X" + result + "X"
# or:
results = ["X" + "/" * i + "-" * (6-i) + "X" for i in range(1, 6)]
然而这忽略了你的标题和你的标记,所以让我们穿插它们。
import itertools
header = ["xxx", "xxxxxx"] # I don't know how you're generating that, so I assume it's static?
tokens = itertools.repeat("X---X") # infinite sequence of "X---X"
final_result = itertools.chain.from_iterable([header, *zip(tokens, results)])
final_result
是一个类似于以下内容的列表:
['xxx',
'xxxxxx',
'X---X',
'X/-----X',
'X---X',
'X//----X',
'X---X',
'X///---X',
'X---X',
'X////--X',
'X---X',
'X/////-X']
所以要像上面一样打印它,我们必须使用' '.join
。
print(' '.join(final_result))