Python无循环无条件语句实现121次打印hello的技术问询
解法
可以利用Python的默认参数初始化特性和布尔值短路运算来实现,无需条件语句和循环,代码如下:
def print_hello(count=121): print('hello', end='') count and print_hello(count - 1) print_hello()
思路说明
- 给函数设置默认参数
count=121,作为剩余需要打印的次数,默认参数只会在函数定义时初始化一次 - 每次调用函数先打印
hello,通过end=''避免输出换行 - 利用布尔短路特性:当
count大于0时,count被视为布尔值True,会执行后面的递归调用并将count减1;当count变为0时,count是布尔值False,短路运算会终止递归,不再执行后续调用
内容的提问来源于stack exchange,提问作者Mitchell Matheny
相关产品推荐
相关产品推荐

