2017-01-26 267 views
0

我对Python有点新,我想知道如何将多个输出结合在一起,如果它是不同函数的一部分。因此,对于一个简单的例子:从python中并排打印两个或多个输出函数

def function1(): 
    print("This is") 

def function2(): 
    print("a line") 

def main(): 
    function1() 
    function2() 

main() 

如果我这样做,它会打印:

This is 
a line 

但我将如何调整它打印出来是这样的:

This is a line 

编辑:我注意到.end函数在这里会有所帮助,但如果我有一长串项目呢?它似乎不适用于这种情况。因此,例如,如果我的两个输出分别为:

252 
245 
246 
234 

Bob 
Dylan 
Nick 
Ryan 

,我想参加这两项所以这将是这样的:

252 Bob 
245 Dylan 
246 Nick 
234 Ryan 

回答

0

编辑:我注意到了.end函数将在这里帮助,但如果我有一个长长的项目列表?它似乎不适用于这种情况。

也许像这样?

def function1(): 
    print('Work It', end='') 
    yield 
    print('Do It', end='') 
    yield 
    print('Harder', end='') 
    yield 
    print('Faster', end='') 
    yield 


def function2(): 
    print('Make It', end='') 
    yield 
    print('Makes Us', end='') 
    yield 
    print('Better', end='') 
    yield 
    print('Stronger', end='') 
    yield 


def main(): 
    generator1, generator2 = function1(), function2() 

    while True: 
     try: 
      next(generator1) 
      print(' ', end='') 
      next(generator2) 
      print() 
     except StopIteration: 
      break 


if __name__ == '__main__': 
    main() 

输出

Work It Make It 
Do It Makes Us 
Harder Better 
Faster Stronger 
+0

这工作。谢谢。 – DoeNd

0

在功能上打印只需使用end =“” This such

def function1(): 
    print("This is", end=" ") 

def function2(): 
    print("a line", end="") 

def main(): 
    function1() 
    function2() 

main() 
+0

我明白了。如果每个输出结果都是项目的递减列表,但是我想让它们保持这样做来创建列? – DoeNd

+0

然后我会建议先收集数据,然后将打印推迟到一个单独的功能打印出来。 – Moberg

相关问题