-1

在 Python 3 上,我正在尝试编写一个函数,该函数format_list(items)接受一个items包含 1 个或 2 个字符串元素的列表并返回一个包含这些元素的字符串。假设被传递的列表总是包含一个或两个元素(即,它不会为空,也不会包含两个以上的元素)。

条件是:

  1. 如果列表包含单个元素,则该元素由函数返回,不变。
  2. 如果列表包含两个元素,则它们以单个字符串的形式返回,第一个元素在宽度为 10 的字段中左对齐,后跟竖线 ('|'),第二个元素在宽度为 10 的字段中右对齐。您可以假设元素是每个最多包含 10 个字符的字符串。

所以print(format_list(['abc']))会产生:

abc

print(format_list(['Dave', '14']))会产生:

Dave   |   14

我什至不知道从哪里开始......

4

3 回答 3

1

这听起来像是家庭作业,所以有一些线索可以帮助您:

  • % formatting (例如"Hello %s!" % some_var--> "Hello World!"if some_var == "World"

  • len(some_list)--> 列表中的项目数

哦,因为我不想查:

"%10s" % 'word'--> ......word(点是空格)

"%-10s" % 'word'-->word......

于 2013-03-25T22:11:16.053 回答
0
def format_list(l):
    if len(l)==1: return l[0]
    else:
        return '{:<10}|{:>10}'.format(l[0],l[1])

for l in [['abc'],['Dave', '14']]:        
    print(format_list(l)) 

印刷:

abc
Dave      |        14

查看.format方法和.format 迷你语言

于 2013-03-25T22:05:34.473 回答
-1
def format_list(my_list)
    try:
        return my_list[0].ljust(10) + '|' + my_list[1].rjust(10)
    except IndexError: return my_list
于 2013-03-25T22:12:06.140 回答