鱼C论坛

 找回密码
 立即注册
楼主: 冬雪雪冬

[技术交流] Python:每日一题 160

[复制链接]
发表于 2018-3-9 09:28:09 | 显示全部楼层
def fun(a):
    if a==1:
        return 1;
    else:
        temp=fun(a-1)
        return temp*temp+a;
a=input("请输入:")
print (fun(int(a)))

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-9 09:29:27 From FishC Mobile | 显示全部楼层
本帖最后由 Chase_Kas 于 2018-3-9 22:49 编辑
  1. def fun(n):
  2.     if n == 1:
  3.         return 1
  4.     else:
  5.         return fun(n-1)**2 + n

  6. print([fun(x) for x in range(1, 8)])
复制代码

'''这平方数字翻得太快了 '''

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-9 09:40:32 | 显示全部楼层
本帖最后由 雪人爱晒大太阳 于 2018-3-10 21:38 编辑

就是递归~
  1. import math
  2. #编写函数fun(n)=(fun(n-1))^2 + n
  3. def fun(n):
  4.     if n == 1:
  5.         return 1
  6.     else:
  7.         return int(math.pow(fun(n-1),2)+n)
  8.    
  9. print(fun(1))   
  10. print(fun(2))
  11. print(fun(3))
  12. print(fun(4))
  13. print(fun(5))  
  14. #1
  15. #3.0
  16. #12.0
  17. #148.0
  18. #21909.0
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3 返回值还是要整数的

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-9 09:47:04 | 显示全部楼层
def fun(n):
    if n == 1:
        return 1
    else:
        return (fun(n-1))**2+n


for i in range(1,6):
    print('fun(%d)  的值为:%d'%(i,fun(i)))

fun(1)  的值为:1
fun(2)  的值为:3
fun(3)  的值为:12
fun(4)  的值为:148
fun(5)  的值为:21909

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-9 09:58:52 | 显示全部楼层
本帖最后由 Andy0214 于 2018-3-9 10:00 编辑
  1. def fun(n):
  2.     if n == 1:
  3.         return 1
  4.     else:
  5.         sum = fun(n-1)**2 + n
  6.         return sum

  7. if __name__ == '__main__':
  8.         print(fun(4))
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-9 09:59:12 | 显示全部楼层
  1. def sum_fun(n):
  2.         sum = 0
  3.         if n == 1 :
  4.                 return 1
  5.         else:
  6.                 sum += sum_fun(n-1) * sum_fun(n-1) + n
  7.         return sum
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-9 10:01:12 | 显示全部楼层
本帖最后由 阿bang 于 2018-3-9 10:02 编辑
  1. def sum_fun(n):
  2.         sum = 0
  3.         if n == 1 :
  4.                 return 1
  5.         else:
  6.                 sum = sum_fun(n-1) * sum_fun(n-1) + n
  7.         return sum
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-9 10:02:26 | 显示全部楼层
def fun(x):
    if x==1:
        return 1
    return fun(x-1)**2+x
for i in range(1,10):
    print(fun(i))

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-9 10:24:11 | 显示全部楼层
  1. def fun(n):
  2.     if n == 1:
  3.         return 1
  4.     else:
  5.         return fun(n-1)**2 + n
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-9 10:39:10 | 显示全部楼层
本帖最后由 lovesword 于 2018-3-9 10:45 编辑

  1. def tt(max):
  2.     sum,sum_ = 1,1
  3.     n=1
  4.     while n<=max:
  5.         sum_ = ['(%s**2+%s)'%(sum_,n),1][n==1]
  6.         yield 'tt(%s)==>%s = %s'%(n,sum_,sum)
  7.         n = n + 1
  8.         sum =sum**2+n

  9. for i in tt(5):
  10.     print i

复制代码



----------------res print -----------------
tt(1)==>1 = 1
tt(2)==>(1**2+2) = 3
tt(3)==>((1**2+2)**2+3) = 12
tt(4)==>(((1**2+2)**2+3)**2+4) = 148
tt(5)==>((((1**2+2)**2+3)**2+4)**2+5) = 21909

没有在tt函数上继续处理了 ,例如: 使得tt(5) 应该直接输出 ((((1**2+2)**2+3)**2+4)**2+5) = 21909 ,
重在参与~_~

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-9 10:42:54 | 显示全部楼层
123
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-3-9 11:03:16 From FishC Mobile | 显示全部楼层
def fun(n):
      If n==1:
           return 1
      else:
           return fun(n-1)**2+n

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-9 11:22:27 | 显示全部楼层
def fun(n):
    if n == 1:
        return 1
    if n > 1:
        return (fun(n-1))**2 + n
    else:
        print('出错啦')

n = int(input('输入一个数字:'))

print('结果是:'+ str(fun(n)))

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-9 11:23:04 | 显示全部楼层
  1. from functools import reduce

  2. def fun(n):
  3.         return reduce(lambda x, y: x**2+y, list(range(1, n+1)))

  4. print(fun(5))
复制代码


结果:
21909

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3 不用list,直接range就行

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-9 11:24:49 From FishC Mobile | 显示全部楼层
本帖最后由 新水友 于 2018-3-9 11:26 编辑

def fun(n):
    if n == 1:
        result= (n-1)**2+n
        n-1
    if n > 1:
        result = (fun(n-1))**2+n
        n-1
    return result

n = int(input('请输入正整数:'))

main = fun(n)
print(main)

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-9 11:34:02 | 显示全部楼层
def fun(n):
        if n == 1:
                return 1
        return (fun(n-1))**2 + n

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-9 11:35:22 | 显示全部楼层
def fun(x):
    if x==int() and x>0:
        if x==1:
            return 1
        else:
            return (fun(x-1))**2+x
    else:
        print('请输入正整数')
   

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-9 12:04:03 | 显示全部楼层
  1. def fun(n):
  2.     if n == 1:
  3.         return 1
  4.     else:
  5.         return fun(n-1)**2 + n
  6. n = int(input("输入:"))
  7. print(fun(n))
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-9 12:16:14 | 显示全部楼层
def fun(number):
        if number == 1:
                return 1
        else:
                return fun(number-1)**2 + number
fun(number)

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-9 12:32:08 | 显示全部楼层
  1. def fun(n):
  2.     if n==1:
  3.         return 1
  4.     return fun(n-1)**2+n

复制代码

  1. import functools
  2. def fun1(n)
  3.     return functools.reduce(lambda x,y:x**2+y,range(1,n+1))
复制代码

点评

没有功力了,明天继续,先mark一下  发表于 2018-3-10 21:02

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-19 01:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表