我想要循环打印,我不知道这是不是一个字,但让我用下面的代码演示
def primer():
print (greet(), "\n", intro(), "\n" ,origi())
def greet():
return("Hola ")
def intro():
return("Mi nombre es Leon ")
def origi():
return("I am from Guadalajara")
primer()
输出是:
Hola
Mi nombre es Leon
I am from Guadalajara
期望的输出。
Hola
Hola
Mi nombre es Leon
Hola
Mi nombre es Leon
I am from Guadalajara
那将是pirint
greet
greet
intro
greet
intro
origi
没有所有冗余或尽可能少。
答案 0 :(得分:0)
你的程序中根本不需要循环,只需拼出函数调用。
如果你想要一个循环,你可以使用这样的东西虽然它是非常无意义的:
def primer():
for s in ([greet(), intro(), origi()][:i + 1] for i in range(3)):
print('\n'.join (s) + '\n')
答案 1 :(得分:0)
通过对代码进行最少的更改,您可以通过在调用下一个函数时返回上一个函数的返回值来执行您想要的操作:
def primer():
print (greet(), "\n", intro(), "\n" ,origi())
def greet():
return("Hola ")
def intro():
print(greet())
return("Mi nombre es Leon ")
def origi():
print(intro())
return("I am from Guadalajara")
primer()
给我:
>>>
Hola
Hola
Mi nombre es Leon
Hola
Mi nombre es Leon
I am from Guadalajara
答案 2 :(得分:0)
这适用于任何返回字符串的任意函数列表(printers
):
def primer():
printers = (greet, intro, origi)
print('\n\n\n\n'.join(['\n'.join([printer() for printer in printers[1:n]]) for n in range(len(printers)+1)]))
输出:
Hola
Hola
Mi nombre es Leon
Hola
Mi nombre es Leon
I am from Guadalajara