2016-10-26 26 views
0

所以我有一个pprogram,并且一切都正常,除了列表中应该打印没有方括号包括在内。 所以我的程序询问人们他们感兴趣的是什么形状,然后询问他们想要形状各边的长度,然后计算三种形状的每一种的体积。我有不同的形状,长度,一个高清功能,将它们输入到一个列表中,因此,例如:我只是想知道如何在python中使用def打印一个列表?更多信息的描述

这是它看起来像一个例子:

我让他们在一个列表一样

cubeVolumes = [] 

然后

def calcCubeVolumes(length): 
    volume1 = int(length) ** 3 
    cubeVolumes.append(volume1) 
    return volume1 

,然后它会做,对于其他两个形状了,所以金字塔和椭圆形,然后在年底将它们打印成像一个列表:

“您的立方体体积为:54,32,12]等。(打印(” 魔方”,cubeVolumes))要准确

我真的希望这是有道理的,但我的问题是,如何在没有括号的情况下打印每个列表?我需要帮助打印一个def函数,将每个元素转换为一个字符串,并在循环内部添加逗号,除了列表中的最后一项。

+2

所有您需要做的仅仅是用'“”。加入((STR(五) for v in cubeVolumes))' – Nf4r

回答

2
print(*cubeVolumes, sep=', ') 

这是与传递列表的元素融入打印作为参数。 sep是分隔符字符

print(54, 32, 12, sep=', ') 

要与其他一些文字做:

print("Cube Volumes: ", end='') #No line break after this print 
print(*cubeVolumes, sep=', ') 

输出继电器:

Cube Volumes: 54, 32, 12 
+0

嗨,这很完美!和简单的谢谢你..但是当我打印出来......它有一个逗号..从例如立方体卷:43,65,32我可以摆脱它吗? – Melanie432k

+0

@ Melanie432k是的,看我编辑的答案 –

+0

是的,非常感谢! – Melanie432k

0

这应做到:

print("Cube:", ', '.join(['{}'.format(c) for c in cubeVolumes])) 
+0

如果你想要看起来,你不需要实际添加方括号。 – xZise

+2

@xZise的结果是将一个列表传递给'.join'比仅仅传递一个生成器表达式更有效率 - 请参阅这里的评论:http://stackoverflow.com/questions/40178364/using-regex-to-remove -digits-from-string/40178983?noredirect = 1#comment67630965_40178983 – Bahrom

0

如何像这样

myList = [54,32,12] 

print(myList[0], end="") 

for item in myList[1:]: 
    print(",", item, end="") 

注意: requir为end=""部分工作ES的Python v 3.x中,这迫使代替新线在同一行打印,

+0

而不是使用'范围'做'在myList [1:]项目'' –

+0

谢谢帕特里克,试图记住那一点!回答编辑 – CJC

+1

如果你使用'from __future__ import print_function',这应该在Python 2.6+中工作。另见['__future__'](https://docs.python.org/2/library/__future__。html)包文档。 – xZise

相关问题