【发布时间】:2016-04-01 23:36:34
【问题描述】:
在本节中,他们希望我们创建此表:
apples Alice dogs
oranges Bob cats
cherries Carol moose
banana David goose
必须右对齐,输入为tableData。这是我的代码:
tableData=[['apples', 'oranges', 'cherries', 'banana'],
['Alice', 'Bob', 'Carol', 'David'],
['dogs', 'cats', 'moose', 'goose']]
listlens=[]
tour=0
lists={}
for m in tableData:
total=0
tour+=1
for n in m:
total+=len(n)
lists["list:",tour]=total
print("list",tour,total)
itemcount=list(lists.values())
sortedlen=(sorted(itemcount,reverse=True))
longest=sortedlen[0]
#print (lists['list:', 1])
#print (longest)
for m in range(len(tableData[0])):
for n in range(len(tableData)):
print (tableData[n][m],end=" ")
n+=1
print ("".rjust(lists['list:', 1],"-"))
m+=1
我几乎完成了,除了一件事,我不能让它正确。这个输出是我迄今为止最接近的输出。
apples Alice dogs ---------------------------
oranges Bob cats ---------------------------
cherries Carol moose ---------------------------
banana David goose ---------------------------
如果我将 rjust 放在内部 for 循环中,则输出会大不相同:
apples-------------------------- Alice-------------------------- dogs--------------------------
oranges-------------------------- Bob-------------------------- cats--------------------------
cherries-------------------------- Carol-------------------------- moose--------------------------
banana-------------------------- David-------------------------- goose--------------------------
【问题讨论】:
-
你尝试过先加入吗?
-
你能再解释一下吗?你的意思是在 print 函数的末尾还是在 for 循环中?
-
我现在试过了,但是参数错误。
标签: python python-3.x printing