相关疑难解决方法(0)

Python:for循环 - 在同一行上打印

我有一个关于for在Python 3中使用循环在同一行上打印的问题.我搜索了答案,但我找不到任何相关的.

所以,我有这样的事情:

def function(variable):

    some code here

    return result


item = input('Enter a sentence: ')

while item != '':
    split = item.split()
        for word in split:
            new_item = function(word)
            print(new_item)
    item = input('Enter a sentence: ')
Run Code Online (Sandbox Code Playgroud)

当用户输入句子"短句"时,该函数应该对它做一些事情并且它应该打印在同一行上.假设函数将't'添加到每个单词的末尾,因此输出应为

在短期内判刑

但是,目前的输出是:


短期内
判刑

如何轻松地在同一行上打印结果?或者我应该制作一个新的字符串

new_string = ''
new_string = new_string + new_item
Run Code Online (Sandbox Code Playgroud)

它是迭代的,最后我打印new_string?

python string python-3.x

9
推荐指数
2
解决办法
8万
查看次数

函数中带有time.sleep()的sys.stdout.write()问题

我想要的是使用time.sleep()打印出每秒打印一个点的5个点,但结果是在延迟5秒后立刻打印了5个点.
尝试了print和sys.stdout.write,结果相同.

感谢您的任何建议.

import time
import sys

def wait_for(n):
    """Wait for {n} seconds. {n} should be an integer greater than 0."""
    if not isinstance(n, int):
        print 'n in wait_for(n) should be an integer.'
        return
    elif n < 1:
        print 'n in wait_for(n) should be greater than 0.'
        return
    for i in range(0, n):
        sys.stdout.write('.')
        time.sleep(1)
    sys.stdout.write('\n')

def main():
    wait_for(5)    # FIXME: doesn't work as expected

if __name__ == '__main__':
    try:
        main()
    except KeyboardInterrupt:
        print '\nAborted.'
Run Code Online (Sandbox Code Playgroud)

python buffering

5
推荐指数
1
解决办法
3217
查看次数

标签 统计

python ×2

buffering ×1

python-3.x ×1

string ×1