python

递归过程中参数的变化

2020-10-02  本文已影响0人  Python_Camp

​- 课程大类AGENDA -01 Scratch 初中高01 女性编程日周二02 Python 编程思维02 数字设计3D实践03 VEX IQ 理论和实战03 创客体验 免费预约04 ACM/NOI 算法04 物联网基础实践**▽ ****课程体系和进度****▽ **

丁丁猫python起跑班课程内容覆盖7个大模块,每个模块文末详细技能知识点。3个班的进度相同但讲的深度不同。课程设计中将感受到对逻辑课的高度重视,弥补国内K12编程和数学课程缺少的重要一环。

本文是课程内容的深入补充同时为了便于查看历史文章,单独汇总字典部分的用法。有部分同学进度赶不上,可以考虑跟下一轮基础班重修。

**- **编程实践和机器人课程中穿插必备的数学和物理

**- **全球顶级的STEM在线课程提供线下辅导

- 既能视频一对一学习,也有线下授课

▽ 关键技能点▽

collection 递归 sorted

Re:递归 函数参数

n个正整数之和等于100,列出包含所有的数字组合

'''

solutions = set()

def calc(n, dogs, last):

if n == 6:

    if sum(dogs) == 100:

        d = sorted(dogs, reverse=True)

        solutions.add((tuple(d), (d[1]+d[2])/2))

    print(n)

    #print(solutions,n,end=',',flush=10)

    return     

#由于此处条件判断的条件是n == 6,

#sum(dogs) 不等于100时,return 停在当前状态

else:

    print(n)

    for i in range(last, 100):

        dogs[n] = i

        if sum(dogs[:n+1]) > 100:

            return

        else:

            calc(n+1, dogs, i)

calc(0, [0, 0, 0, 0, 0, 0], 1)

'''

1. Collections: List, Dictionary, Set, Tuple, Range, Enumerate, Iterator, Generator. 2. Types: Type, String, Regular_Exp, Format, Numbers, Combinatorics, Datetime 3. Syntax: Args, Inline, Closure, Decorator, Class, Duck_Types, Enum, Exceptions 4. System: Print, Input, Command_Line_Arguments, Open, Path, Command_Execution. 5. Data: CSV, JSON, Pickle, SQLite, Bytes, Struct, Array, MemoryView, D

上一篇 下一篇

猜你喜欢

热点阅读