如何使用python像这样打印字符串

2024-06-17 12:31:37 发布

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

我想写一个函数来打印字符串,如下所示:

Found xxxx...

因为x是由另一个函数计算的结果。它只按顺序打印一行,但不打印一次。例句:我想打印我的名字,但它是m。。。。我的。。。。还有我的……,就在这条线上。 我能用python做这个吗? 对不起,我不能用英语解释清楚

更新

示例代码

import requests

url = 'http://example.com/?get='
list = ['black', 'white', 'pink']

def get_num(id):
    num = requests.get(url+id).text
    return num
def print_out():
    for i in list:
        num = get_num(i)
if __name__ == '__main__':
    #Now at main I want to print out 2...  (for example, first get_num value is 2) and after calculating 2nd loop print_out, such as 5, it will update 25...
    #But not like this:
    #2...
    #25...
    #25x...
    #I want to it update on one line :)

Tags: to函数idurlforgetmainexample
2条回答
s = "my_name"
for letter in range(len(s)):
    print("Found",s[0:letter+1])

您只需使用所需的返回值调用函数,而不必使用“s”

如果希望在同一行中打印输出,并且使用的是Python2.7,那么可以做以下几件事

第一种方法Py2.7 简单地说:

# Note the comma at the end
print('stuff'),

将保持打印在同一行,但将有一个空间之间

第二种方法Py2.7

import sys
sys.stdout.write("stuff")

这将在同一行上打印所有内容,没有空格。但是要小心,因为它只接受类型str。如果您传递一个int,您将得到一个异常

因此,在一个代码示例中,为了说明两者的用法,您可以这样做:

import sys
def foo():
    data = ["stuff"]
    print("Found: "),
    for i in data:
        sys.stdout.write(i)
    #if you want a new line...just print
    print("")

foo()

输出: Found: stuff

Python 3信息

只需添加有关在Python 3中使用此功能的额外信息,您只需执行以下操作:

print("stuff", end="")

输出示例取自文档here

>>> for i in range(4):
...     print(i, end=" ")
... 
0 1 2 3 >>> 
>>> for i in range(4):
...     print(i, end=" :-) ")
... 
0 :-) 1 :-) 2 :-) 3 :-) >>> 

相关问题 更多 >