为什么我的程序只打印到一行而不是单独的行?

时间:2016-07-01 19:12:00

标签: python

所以我正在使用这段代码:

def print_slow(str):
    for letter in str:
    print letter,
    time.sleep(.1)
来自此链接的

printing slowly (Simulate typing) 如果符合我的需要但是,到目前为止,我的代码是:

import time
import random
import sys
def print_slow(str):
   for letter in str:
   print letter,
   time.sleep(.5)
print_slow("MEME QUEST!")
time.sleep(.5)
print_slow("BY XXX XXXXX")

但是当我运行这段代码时,它会在同一行打印两段代码。有没有办法把它们放在单独的线上?

编辑:为print_slow函数添加额外的打印效果,谢谢。

3 个答案:

答案 0 :(得分:2)

你错过了换行符;通常print会输出,但如果您在结尾添加,逗号则不会。

您可以在调用print之间插入额外的空白print_slow()来写一个:

print_slow("MEME QUEST!")
print
time.sleep(.5)
print_slow("BY XXX XXXXX")
print

您可以在函数中添加额外的print语句:

def print_slow(str):
    for letter in str:
        print letter,
        time.sleep(.1)
    print

空白print会写下缺失的换行符。

或者,在您打印的文本中添加\n换行符:

print_slow("MEME QUEST!\n")
time.sleep(.5)
print_slow("BY XXX XXXXX\n")

但考虑到相同的.1秒延迟也适​​用于写新线。

答案 1 :(得分:0)

您只需添加换行符

即可
print_slow("MEME QUEST!\n")

答案 2 :(得分:0)

之后的逗号
print letter,

声明禁止它打印新行。

尝试

import time

def print_slow(string):
        for letter in string:
            print letter,
            time.sleep(.1)
        print '\n'

print_slow("hello")
print_slow("world")

我确信有更简洁的方法可以实现这一点,但这可以解决您的问题。