在python 3.4中打印调用

Mar*_*lan 1 python printing

嗨,我正在自学python,已下载3.4并正在使用Think Python.我遇到的问题是打印网格.我不会把整个代码放在一边但是有点问题.

def do_twice(f):  
    f()  
    f()

def print_beam():   
    print("+ - - - - ", )

def print_beams():  
    do_twice(print_beam)
    print("+")
Run Code Online (Sandbox Code Playgroud)

现在,当被调用时应该打印出像这样的光束+ - - - - + - - - - +

但是,实际输出是
+ - - - -
+ - - - -
+

我已经用了两个小时了,但是我使用的python版本与我正在编写的那本书有所不同.任何人都可以帮我解决这个日志问题吗?

Gar*_*hPW 5

问题是,默认情况下,该print函数在其输出的末尾创建一个新行.这是一个简单的解决方案.

def do_twice(f):  
    f()  
    f()

def print_beam():   
    print("+ - - - - ", end='') #Don't create a new line.

def print_beams():  
    do_twice(print_beam)
    print("+")
Run Code Online (Sandbox Code Playgroud)

  • @MarkNolan别忘了将此标记为其他路过的答案! (2认同)