繁体   English   中英

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

[英]Why is my program printing to only one line instead of a seperate line?

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

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

从SO上的此链接上: 打印速度慢(模拟键入) ,如果适合我的需要。 但是,到目前为止,我的代码是这样的:

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函数工作,谢谢。

您缺少换行符; 通常print的是,但不是如果您添加一个输出,在最后逗号。

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

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秒延迟也适​​用于写入换行符。

您只需添加换行符

print_slow("MEME QUEST!\n")

您后的逗号

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")

我敢肯定有一种更干净的方法可以实现此目的,但这可以解决您的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM