Python 如何使函数在同一行上多次打印,例如打印(“测试”)*3

Python 如何使函数在同一行上多次打印,例如打印(“测试”)*3,python,function,Python,Function,假设我有代码,虽然它没有做任何事情,只是一个例子 def myprint(): print("foobar") foo = random.randint(1, 6) myprint() * foo #Obviously doesn't work 我想让它做的是打印“foo”时报。我该怎么做 for i in range(foo): print('test') 如果您真的想将其作为一个表达式来执行,该表达式返回一些任意的、通常非常糟糕的、或者至少非常粗糙的表单 [prin

假设我有代码,虽然它没有做任何事情,只是一个例子

def myprint():
    print("foobar")
foo = random.randint(1, 6)
myprint() * foo    #Obviously doesn't work
我想让它做的是打印“foo”时报。我该怎么做

for i in range(foo):
    print('test')
如果您真的想将其作为一个表达式来执行,该表达式返回一些任意的、通常非常糟糕的、或者至少非常粗糙的表单

[print('test') for _ in range(foo)]
如果您真的想将其作为一个表达式来执行,该表达式返回一些任意的、通常非常糟糕的、或者至少非常粗糙的表单

[print('test') for _ in range(foo)]

您可以将代码更改为以下代码:

def myprint(times):
    print(times*"foobar")
foo = random.randint(1, 6)
myprint(foo)

您可以将代码更改为以下代码:

def myprint(times):
    print(times*"foobar")
foo = random.randint(1, 6)
myprint(foo)

pythonic方式使用for循环:

for n in range(foo):
    printfunc()

请注意,如果您像在python 3中那样定义打印,那么您就是在用自己的打印来屏蔽原始打印。

python的方式是使用for循环:

for n in range(foo):
    printfunc()

请注意,如果您像在python 3中那样定义打印,那么您就是在用自己的打印来掩盖原始打印。

或者如果您想对其含糊其词,让阅读您的代码的人感到厌烦:

import random
print('\n'.join(["foo" for _ in range(random.randint(1,6))]))

或者,如果您想对其含糊其词,并使阅读您的代码的人感到烦恼:

import random
print('\n'.join(["foo" for _ in range(random.randint(1,6))]))

这就是为什么不应该调用自己的函数print


哎呀,现在您已经覆盖了内置打印,因此您不能再使用它来实际打印内容了

这就是为什么您不应该调用自己的函数print


oops现在您已经覆盖了内置打印,因此无法再使用它实际打印内容了

请注意ben w所说的:注意您的代码包含不同的错误,即您正在绑定名称打印。请注意ben w所说的:注意您的代码包含不同的错误,即您正在绑定名称打印。啊,这一定是OP真正想要的。USER 1247 509:如果你接受这个答案,请考虑将问题的标题改为如何使函数在同一行上多次打印,这必须是OP真正想要的。USER 1247 509:如果你接受这个答案,请考虑将问题的标题改为如何使一个函数在同一个LINEI上打印很多次,认为你应该删除你的答案的第二部分,假装它从来没有发生过:@ GnbBule:可能,但是当时看起来OP可能正在寻找它。另外,当你想做像[random for uu10]这样的事情时,这实际上是一个合法的模式,因为像[random]*10不会像预期的那样起作用。不同的是,在该示例中,您使用的是列表理解的结果。我认为您应该删除答案的第二部分,并假装它从未发生过:@gnibler:可能,但当时似乎OP可能正在寻找它。另外,当你想做像[random for uu10]这样的事情时,这实际上是一个合法的模式,因为像[random]*10这样的事情不会像预期的那样工作。区别在于,在这个例子中,你使用的是列表理解的结果。