码迷,mamicode.com
首页 > 其他好文 > 详细

----斐波那契数列---eval函数----类递归思想 栈 进出 思想

时间:2017-09-13 17:19:20      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:pop   func   while   strong   字段   字符串   field   val   斐波那契数列   

------------    斐波那契 数列   ---------------

【1,1,2,3,5,8,13,21,34,...】



1 列表方法实现


技术分享
# l=[1,1]
#
# # while len(l)<=20:
# #     l.append(l[-1]+l[-2])
# # print(l)
#
# while len(l)!=4:
#     l.append(l[-1]+l[-2])
# print(l)
#
技术分享

2 迭代实现

技术分享
# n=10
#
# n1 = 1
# n2 = 1
# n3 = 1
#
# if n<=2:
#     re=1
#     print(re)
# if n>2:
#     m=1
#     while m <= n-2:
#         n3 = n1 + n2
#         n1 = n2
#         n2 = n3
#         m+= 1
#     re=n3
#
#     print(re)
技术分享

 





-------- eval() -------- 把字符串 强转 为实际的数据------------


eval(‘print(123)‘)

eval(‘func‘)()

eval 存在安全隐患---->> 会把其他关键字识别---使用




---------------  类递归思想     列表---栈 进出思想---------------


附加题

# # 有?个数据结构如下所?,请编写?个函数从该结构数据中返回由指定的字段和对应的值组成的字
# # 典。如果指定字段不存在,则跳过该字段。(10分)
#
data={"time":"2016-08-05T13:13:05",
"some_id":"ID1234",
"grp1":{ "fld1":1,
"fld2":2},
"xxx2":{ "fld3":0,
"fld5":0.4},
"fld6":11,
"fld7":7,
"fld46":8}

# fields:由"|"连接的以"fld"开头的字符串,如:fld2|fld3|fld7|fld19



技术分享
fields=‘fld2|fld3|fld7‘
fields_list=fields.split(‘|‘)

my_dict={}
data_list=[1]

while data!=1:
    for key in data:
        if key in fields_list:
            my_dict[key]=data[key]
        if type(data[key])==dict:
            data_list.append(data[key])    # 如果有的话一直 添加
    data=data_list.pop()        # 取出最后一个
print(my_dict)
技术分享

----斐波那契数列---eval函数----类递归思想 栈 进出 思想

标签:pop   func   while   strong   字段   字符串   field   val   斐波那契数列   

原文地址:http://www.cnblogs.com/hzqblog/p/7515684.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!