2019丶04丶01 发表于 2020-4-8 21:22:10

递归

本帖最后由 2019丶04丶01 于 2020-4-8 21:24 编辑

def fun(x):
    if x == 1:
      return 1
    else:
      return x * fun(x - 1)


   
number = int(input('请输入一个正整数!'))
result = fun(number)
print('% d 的阶乘是: % d'% (number,result))

这里面中的number = int(input('请输入一个正整数!'))
result = fun(number)
print('% d 的阶乘是: % d'% (number,result))这些是什么意思呢,应该怎么理解这几句代码呢

qiuyouzhi 发表于 2020-4-8 21:23:33

第一行是接收用户的输入,并将用户输入的东西转换为字符串
第二行是调用函数,并将值存储在result里面
第三行是输出结果

liuzhengyuan 发表于 2020-4-8 21:24:28

number = int(input('请输入一个正整数!')) # 输入
result = fun(number) #调用函数
print('% d 的阶乘是: % d'% (number,result)) #输出

zltzlt 发表于 2020-4-9 08:08:03

第一行是接收用户输入的整数
第二行是调用 fun() 函数,传递参数 number,并把函数的返回值赋值给 result
第三行是格式化打印,如果忘记规则可以听听小甲鱼的这节课:https://www.bilibili.com/video/BV1Fs411A7HZ?p=16

ab16838123 发表于 2020-4-9 08:35:34

def fun(x):
    if x == 1:
      return 1
    else:
      return x * fun(x - 1)


   
number = int(input('请输入一个正整数!')) #给number赋给一个数值
result = fun(number)#将值传递给函数并返回结果
print('% d 的阶乘是: % d'% (number,result)) #‘%d’ 是占位符的知识,建议百度Python 占位符知识。

陈尚涵 发表于 2020-4-14 10:20:47

这个代码意思就是比如你输入3,然后就会调用fun(3),那3不等于1,就会返回3 * fun(2)的值,fun(2)里的2也不等于1,返回2 * fun(1)的值,fun(1)的1等于1,就返回1,那fun(2)就i返回2 * 1等于2,fun(3)返回3 * 2得到6。求最佳答案{:10_327:}
页: [1]
查看完整版本: 递归