在Python 3中的函数中重复函数
我的问题是,我正在用Python 3编写一个程序,试图想出一种从函数中重复函数的方法,但在StackOverflow上,我发现我可以用else语句来实现这一点:在Python 3中的函数中重复函数,python,python-3.x,function,Python,Python 3.x,Function,我的问题是,我正在用Python 3编写一个程序,试图想出一种从函数中重复函数的方法,但在StackOverflow上,我发现我可以用else语句来实现这一点: def program(): var = (input('Pick A Car: BMW Or Nissian')) if var == 'BMW': print('You Picked BMW \n') if var == 'Nissian': print('You Picked Nissian \n')
def program():
var = (input('Pick A Car: BMW Or Nissian'))
if var == 'BMW':
print('You Picked BMW \n')
if var == 'Nissian':
print('You Picked Nissian \n')
else:
print('That's Not An Option')
program()
return
但我只是不明白,考虑到完整函数尚未定义,如何从函数内部回调函数?如果可能的话,我感谢你的帮助 该函数已定义。你就在这里定义它。假设实际代码中的缩进是正确的,那么您的代码应该可以正常工作。您应该使用elif var=='Nissian':而不是if var=='Nissian'
在函数中重复函数称为递归。网上有很多关于它的信息。一些有用的阅读材料:或者有一件事我不明白,调用函数@Tigerhawkt3后,return关键字的意义。你不需要在函数结束时返回。Python会自动完成这项工作。递归算法的关键是结束条件,它告诉函数停止循环。是a。好的,我想我现在明白了,如果满足if条件,它将正常运行,如果满足ELSE条件,它将运行PRINT语句,然后重复程序函数,然后再次测试if语句,因为程序中的顶层代码块已经定义,所以它可以从程序中运行程序,对吗?对于原始问题@Tigerhawkt3中的缩进错误,我感到抱歉。整个问题已经定义好了。递归调用不是第一次被调用——它必须首先从外部调用。在那之后,是的,它会一次又一次地调用自己,直到满足结束条件,然后它就结束了。