【问题标题】:How to print the output of while loop in one line in python? [duplicate]如何在python的一行中打印while循环的输出? [复制]
【发布时间】:2015-05-24 15:37:25
【问题描述】:

这是一个从用户那里获取输入并将输入打印在一行中的程序。 当用户输入 1,2,3,4 每个数字的输出都出现在不同的行中。

那是在循环输出的每次迭代后进入新行但我希望输出在单行中。我该怎么做? 但我想要输出 1 2 3 4 5 如何获得该输出

print("Program to print a 1d array")
array=[]
i=0
j=0
while(i<5):               ##whileloop1
    item=int(input())
    array.append(item)
    i=i+1
while(j<5):              ##whileloop2
    print(array[j])
    j=j+1

【问题讨论】:

  • 在 Python 3 中:print(array[j], end=' '),参见 here
  • 您的第二个 while 循环是否应该缩进以便在第一个循环内?
  • @ohruunuruus 不会抛出越界异常
  • @JGerulskis 仔细观察,我看到了发生了什么。我认为嵌套的while循环用于打印数组
  • 附带说明,这不是循环列表的好方法。只需执行for item in array:。对于第一个循环,for j in range(5):

标签: python python-3.x while-loop


【解决方案1】:

你可以使用join:

print("Program to print a 1d array")
array = [int(input()) for _ in range(5)]
print(' '.join(map(str, array)))

【讨论】:

  • 由于 OP 代码的改进而投赞成票
【解决方案2】:

正如@Bo102010 所说,“在 Python 3 中:print(array[j], end=' ')”。但或者 python 支持按原样打印列表。 print(list),或者在你的情况下,print(array) 将在一行上打印出一个数组。

【讨论】:

    【解决方案3】:
    >>> print(*array)
    42 23 -17 0 99999
    

    【讨论】:

    • 为什么投反对票?我们是否允许为 OP 实际试图解决的问题提供完全有效的更好解决方案?如果问了这样一个问题,我很乐意被告知我做错了,并得到了更好的方法。
    猜你喜欢
    • 2016-01-15
    • 1970-01-01
    • 2020-11-26
    • 1970-01-01
    • 1970-01-01
    • 2021-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多