我的问题有点难以解释,我做了一个程序,它将列表与最长的类名对齐,我们在This picture中看到的是我启动程序时显示的内容:S37和38与类名在同一位置,因为一旦到达屏幕边界,python就会返回到行。
现在,this是我想要的。显然,在这个例子中,我打印了空格来显示它应该是什么样子,但是程序必须适应所有的屏幕尺寸,所以这个方法根本不可行。有没有什么方法可以让所有的文本都对齐,不管屏幕尺寸是多少?
我使用的示例列表(list[x][0]是类名,list[x][1]是类):
[['2', ['bob', 'patrick', 'mike', 'jhamed', 'brook', 'gianni', 'espoir', 'igor', 'estère', 'charlotte', 'marie-charlotte', 'charlotte-marie', 'pénellope', 'cunégonde', 'félicie', "zo'", 'esmeralda', 'canada']], ['longclass', ['S1', 'S2', 'S3', 'S4', 'S5', 'S6', 'S7', 'S8', 'S9', 'S10', 'S11', 'S12', 'S13', 'S14', 'S15', 'S16', 'S17', 'S18', 'S19', 'S20', 'S21', 'S22', 'S23', 'S24', 'S25', 'S26', 'S27', 'S28', 'S29', 'S30', 'S31', 'S32', 'S33', 'S34', 'S35', 'S36', 'S37', 'S38']], ['test2', ['S1', 'S2', 'S3', 'S4', 'S6']], ['extremely long class name', ['s1', 's2', 's3', 's4']]]
这段代码我用来添加空格来对齐(用在一个程序中找到最大的类名之后):
for j in range(len(List)) :
var = List[j]
for i in range(length - len(List[j])) : #"length" is the number of letters in the biggest class name, with "extremely long class name" : 25
var = var + " "
print(j,length,length - len(List[j]),var,exemple)
1条答案
按热度按时间5us2dqdw1#
下面是一个解决方案:
而结果是:
使用面向对象的设计可能会有一个更优雅的解决方案。
如果您需要帮助,请随时提出。注意:在“zo”名字附近有一个多余撇号。