鱼C论坛

 找回密码
 立即注册
查看: 2251|回复: 2

[已解决]重复输出问题

[复制链接]
发表于 2021-6-28 22:03:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. def printtable(s):
  2.     colwidth = [0] * len(s)
  3.     for i in range(len(s)):
  4.         lst = []
  5.         for j in s[i]:
  6.             lst.append(len(j))
  7.         colwidth[i] = max(lst)
  8.         for m in range(len(s[i])):
  9.             for n in range(len(s)):
  10.                 print(s[n][m].rjust(colwidth[i]), end=' ')
  11.             print()


  12. tabledata = [['apple', 'orange', 'cherries', 'banana'],
  13.              ['Alice', 'Bob', 'Carlo', 'David'],
  14.              ['dog', 'cat', 'moose', 'goose']]
  15. printtable(tabledata)
复制代码


这个函数应该输出的格式:
apple    Alice      dog
  orange      Bob      cat
cherries    Carlo    moose
  banana    David    goose

可以为什么老是重复输出呢?
最佳答案
2021-6-28 22:44:19
  1. def printtable(s):
  2.     colwidth = [0] * len(s)
  3.     for i in range(len(s)):
  4.         lst = []
  5.         for j in s[i]:
  6.             lst.append(len(j))
  7.         colwidth[i] = max(lst)
  8.         
  9.     for m in range(len(s[0])): # 缩进
  10.         for n in range(len(s)):
  11.             print(s[n][m].rjust(max(colwidth)), end=' ') # 格式宽度
  12.         print()


  13. tabledata = [['apple', 'orange', 'cherries', 'banana'],
  14.              ['Alice', 'Bob', 'Carlo', 'David'],
  15.              ['dog', 'cat', 'moose', 'goose']]
  16. printtable(tabledata)
复制代码

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-6-28 22:44:19 | 显示全部楼层    本楼为最佳答案   
  1. def printtable(s):
  2.     colwidth = [0] * len(s)
  3.     for i in range(len(s)):
  4.         lst = []
  5.         for j in s[i]:
  6.             lst.append(len(j))
  7.         colwidth[i] = max(lst)
  8.         
  9.     for m in range(len(s[0])): # 缩进
  10.         for n in range(len(s)):
  11.             print(s[n][m].rjust(max(colwidth)), end=' ') # 格式宽度
  12.         print()


  13. tabledata = [['apple', 'orange', 'cherries', 'banana'],
  14.              ['Alice', 'Bob', 'Carlo', 'David'],
  15.              ['dog', 'cat', 'moose', 'goose']]
  16. printtable(tabledata)
复制代码

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-28 23:47:18 | 显示全部楼层

谢谢,是我题目没看通透,没能好好理解。题目说了假设列表里的列表元素数目都是相同的。而且也提示格式宽度怎么用了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-22 08:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表