如何在函数的同一行上打印数组的各个部分,而不留空格?

2024-05-20 16:45:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试着一个字符一个字符地打印字符串,但中间总是有空白。似乎想不出如何摆脱它。有没有一种方法可以在没有空格的情况下仍然打印动画的字符串


    import time

    starting_text = 'Welcome to CHOOSE YOUR OWN ADVENTURE!' 
    new_starting_text = list(starting_text)

    for x in new_starting_text:
        print(x),
        time.sleep(.1)


Tags: to方法字符串textimportnewtime情况
3条回答

不需要将字符串转换为列表,只需调用replace函数将空格替换为空字符串

starting_text = = 'Welcome to CHOOSE YOUR OWN ADVENTURE!' 
new_starting_text = starting_text.replace(" ", "")
#result = 'WelcometoCHOOSEYOUROWNADVENTURE!'

#to print it character by character you can loop through the new string
for x in new_starting_text:
    print(x)

希望这有帮助

尝试使用此修改后的代码:

import time
import sys

starting_text = 'Welcome to CHOOSE YOUR OWN ADVENTURE!'
new_starting_text = list(starting_text)

for x in new_starting_text:
    print(x,end = ''),
    sys.stdout.flush()
    time.sleep(.1)

std.stdout.flush()将光标移回第一行,删除新行并保留所需的动画。希望这对你有帮助

对于Python 3

import time

starting_text = 'Welcome to CHOOSE YOUR OWN ADVENTURE!' 
new_starting_text = list(starting_text)

for x in new_starting_text:
    print(x, end='')
    time.sleep(.1)

输出

Welcome to CHOOSE YOUR OWN ADVENTURE!

对于Python 2

from __future__ import print_function
import time

starting_text = 'Welcome to CHOOSE YOUR OWN ADVENTURE!' 
new_starting_text = list(starting_text)

for x in new_starting_text:
    print(x, end='')
    time.sleep(.1)

输出

Welcome to CHOOSE YOUR OWN ADVENTURE!

help(print)

print(...)
    print(value, ..., sep='', end='\n', file=sys.stdout)

    Prints the values to a stream, or to sys.stdout by default.
    Optional keyword arguments:
    file: a file-like object (stream); defaults to the current sys.stdout.
    sep:  string inserted between values, default a space.
    end:  string appended after the last value, default a newline.

相关问题 更多 >