【发布时间】:2014-06-09 01:46:17
【问题描述】:
我正在编写一个函数,它接受一个列表变量并返回对应于列表中每个数字的竖线。我只有一个简单的问题,真的。也许,我在这里遗漏了一些东西。
def vBarMaker(nums): # Helper Function
output = ""
while nums != 0:
nums -= 1
output += "*"
if nums == 0:
return output
def vBarGraphify(nums):
for num in nums:
print vBarMaker(num)
print vBarGraphify( [0,1,3,2] )
# ^ This returns
#
# *
# ***
# **
# But I want it to return:
# *
# * *
# * * *
有人可以帮我编辑这个函数,让它返回 ^。提前致谢。
【问题讨论】:
-
您要求使用竖线,但您得到的所有答案都是水平的。您的示例输出不明确。您能否澄清一下您是否希望这些条高并并排或宽且堆叠? (水平和垂直可能会让某些人感到困惑)
-
预期的输出应该是一行。
-
您是否介意 editing 您的问题是
[0, 1, 3, 2]而不是[0, 1, 2, 3]的预期输出? -
看起来每个人都认为您只是想右对齐条形
-
是的,我们认为他想右对齐,因为它第一次格式错误,看起来像那样。
标签: python for-loop while-loop