Python课后作业之递归
result = []def get_digits(n):
if n > 0:
result.insert(0, n%10)
get_digits(n//10)
print(result)
运行这一段代码,然后输入get_digits(123456),会打印七次,我只想它打印一次,请问怎么解决这个问题 print(result)#把打印放在函数调用之后
result = []
def get_digits(n):
if n > 0:
result.insert(0, n%10)
get_digits(n//10)
get_digits(123456)
print(result)#把打印放在函数调用之后
LuLD 发表于 2021-4-1 15:17
print(result)#把打印放在函数调用之后
感谢回答。不过如果是想先运行,再输入get_digits(123456),然后输出结果,就像最开始的数字游戏那样(第2讲课后作业,要求用户输入1到100之间数字并判断,输入符合要求打印“你妹好漂亮”,不符合要求则打印“你大爷好丑”),那可以怎么修改这一段代码 zsc123xyz147 发表于 2021-4-1 15:39
感谢回答。不过如果是想先运行,再输入get_digits(123456),然后输出结果,就像最开始的数字游戏那样(第 ...
可以的,但是我不知道你的判断条件是什么?
def get_digits(n):
if n > 0:
result.insert(0, n%10)
get_digits(n//10)
result = []
get_digits(123456)
temp_a = int(input("输入1-100之间随机一个数字:"))
if 判断条件为真:
print("你妹好漂亮")
else:
print("你大爷好丑") LuLD 发表于 2021-4-1 15:49
可以的,但是我不知道你的判断条件是什么?
不好意思哈,刚刚我没有表达清楚。就我想的是先在file里面按f5运行这段代码,然后就到了shell界面,我输入一个get_digits(123456),出来一行,但现在的结果是出来了七行。 LuLD 发表于 2021-4-1 15:49
可以的,但是我不知道你的判断条件是什么?
刚开始学,一脸懵{:10_261:} zsc123xyz147 发表于 2021-4-1 16:07
不好意思哈,刚刚我没有表达清楚。就我想的是先在file里面按f5运行这段代码,然后就到了shell界面,我输 ...
你看看
def get_digits(n):
if n > 0:
result.insert(0, n%10)
get_digits(n//10)
result = []
get_digits(int(input("输入:")))
print(result)
输入:123456
>>> LuLD 发表于 2021-4-1 16:10
你看看
对对对,就是这个,我一开始做的时候是朝着你这个做的,但是没做出来,只做出了参考答案那样。感谢大佬的耐心指导{:10_254:} zsc123xyz147 发表于 2021-4-1 16:14
对对对,就是这个,我一开始做的时候是朝着你这个做的,但是没做出来,只做出了参考答案那样。感谢大佬的 ...
过奖过奖,共勉共勉{:5_110:}
页:
[1]