繁体   English   中英

如何在没有空间的情况下在同一行中打印数组的一部分?

[英]How to print parts of an array on the the same line in a function, without having space?

我试图按字符打印字符串,但是它们之间总是有空白。 似乎无法弄清楚如何摆脱它。 有没有办法在没有空格的情况下仍然打印动画字符串?


    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)

无需将String转换为列表,只需调用replace函数将空格替换为空String。

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)

希望这可以帮助。

对于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)

输出量

欢迎您选择自己的冒险!

对于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)

输出量

欢迎您选择自己的冒险!

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.

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

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()会将光标带回到第一行,从而消除了新行并保留了所需的动画。 希望这对您有所帮助!

暂无
暂无

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

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