使用相同的3行代码打印多行

时间:2019-10-13 21:02:36

标签: python

下面的代码每隔0.1秒逐个字母打印欢迎文本。

welcome = ("Welcome")

for character in welcome:
    print (character, end = "", flush = True)
    sleep(0.1)

通常,如果我想打印几件东西(在本例中为“欢迎”和“你好”),我会这样做:

welcome = ("Welcome")
hello = ("Hello")

for character in welcome:
    print (character, end = "", flush = True)
    sleep(0.1)

for character in hello:
    print (character, end = "", flush = True)
    sleep(0.1)

但是每次我想要换行时都键入此命令效率不高,因为这会浪费大量时间和空间。

for character in hello:
        print (character, end = "", flush = True)
        sleep(0.1)

有没有办法我只能以某种方式使用其中一个

for character in hello:
            print (character, end = "", flush = True)
            sleep(0.1)

要打印许多这样的行:

hello = ("How are You")
welcome = ("Welcome")
nice = ("Awesome")

4 个答案:

答案 0 :(得分:0)

您可以遍历存储所有消息的数组:

from time import sleep

hello = ("How are You")
welcome = ("Welcome")
nice = ("Awesome")

messages = [hello, welcome, nice]
for message in messages:
    for character in message:
        print (character, end = "", flush = True)
        sleep(0.1)
    print('')

输出如下所示:

  

你好吗

     

欢迎

     

太棒了

答案 1 :(得分:0)

只需创建一个这样的函数

welcome = "Welcome"
hello = "Hello"

list = [welcome,hello]

def my_function(word):
    for character in word:
        print(character, end="", flush=True)
        sleep(0.1)

def my_function_list(list):
    for word in list:
        my_function(word)

my_function_list(list)

答案 2 :(得分:0)

您可以定义一个功能。像这样一个:

def print_char_by_char(word): 
    for character in word:  
        print (character, end = "", flush = True)  
        sleep(0.1) 

然后使用它:

print_char_by_char("How are You")
print_char_by_char("Welcome")
print_char_by_char("Awesome")

答案 3 :(得分:-1)

您可以定义和重用一个或两个函数,请检查以下代码:

def fancy_print(text):
    [print_and_wait(c) for c in text]

def print_and_wait(char):
    from time import sleep
    print(char, end='', flush=True)
    sleep(0.1)

if __name__ == '__main__':
    hello = "How are You"
    fancy_print(hello)

    welcome = "Welcome"
    fancy_print(welcome)

    nice = "Awesome"
    fancy_print(nice)