零基础入门学习Python 08

简介: 零基础入门学习Python 08

1.递归

  • 啥是递归
  • 相当于函数调用自身
  • 对栈操作频繁,很消耗时间、空间
  • 注意:
  • 很危险:如果忘记返回,将会报错
  • 怎么调用自身,且有正确返回?
1. def factorial(n)
2.  if n == 1:
3.  return 1
4. else:
5.  return n * factorial(n - 1)
6. 
7. 以上是一个计算阶乘的例子

def factorial(n)

   if n == 1:

     return 1

 else:

     return n * factorial(n - 1)

   

以上是一个计算阶乘的例子

1. def fab(n):
2.    if n < 1:
3.    print("输入有误!")
4. return -1
5. if n ==1 or n == 2:
6.    return 1
7. else:
8.    return fab(n--1) + fab(n-2)
9. 
10. result = fab(12)
11. if result != -1:
12.     print(result)

如:汉诺塔解法

1. def hanoi(n, x, y, z)
2. if n == 1:
3. print(x, '-->', z)
4. else:
5.   hanoi(n-1, x, z, y)    # 将n-1个盘子从x移动到y上
6. print(x, '-->', z)   # 将最底下的最后一个盘子从x移动到z上
7.   hanoi(n-1, y, x, z)    # 将y上的n-1个盘子移动到z上
8. 
9.   n = int(input("请输入汉诺塔层数:"))
10.   hanoi(n, 'X', 'Y', 'Z')

2.异常处理

 

python标准异常

表 python常见标准异常

 

异常层次结构

  • BaseException
  • SystemExit
  • KeyboardInterrupt
  • GeneratorExit
  • Exception
  • StopIteration
  • ArithmeticError
  • FloatingPointError
  • OverflowError
  • ZeroDivisionError
  • AssertionError
  • AttributeError
  • BufferError
  • EOFError
  • ImportError
  • LookupError
  • IndexError
  • KeyError
  • MemoryError
  • NameError
  • UnboundLocalError
  • OSError
  • BlockingIOError
  • ChildProcessError
  • ConnectionError
  • BrokenPipeError
  • ConnectionAbortedError
  • ConnectionRefusedError
  • ConnectionResetError
  • FileExistsError
  • FileNotFoundError
  • InterruptedError
  • IsADirectoryError
  • NotADirectoryError
  • PermissionError
  • ProcessLookupError
  • TimeoutError
  • ReferenceError
  • RuntimeError
  • NotImplementedError
  • SyntaxError
  • IndentationError
  • TabError
  • SystemError
  • TypeError
  • ValueError
  • UnicodeError
  • UnicodeDecodeError
  • UnicodeEncodeError
  • UnicodeTranslateError
  • Warning
  • DeprecationWarning
  • PendingDeprecationWarning
  • RuntimeWarning
  • SyntaxWarning
  • UserWarning
  • FutureWarning
  • ImportWarning
  • UnicodeWarning
  • BytesWarning
  • ResourceWarning

 

#### 异常检测与处理

  • try-except语句
  • 检测到异常后,不会运行接下来的程序了
  • try-finally语句

  • raise语句
  • 自己引发异常
  • raise testerror(‘此为异常解释内容’)

相关文章
|
2月前
|
程序员 测试技术 开发工具
豆瓣评分7.9!世界级讲师耗时5年整理出的Python学习手册!
Python是一门流行的开源编程语言,广泛用于各个领域的独立程序与脚本化应用中。它不仅免费、可移植、功能强大,同时相对简单,而且使用起来充满乐趣。从软件业界的任意一角到来的程序员,都会发现Python着眼于开发者的生产效率以及软件质量,因此无论你的项目是大还是小,选择Python都将带来战略性的优势。 今天给小伙伴们分享的这份手册讲述了完整的Python语言,力争满足“语言”和“原理”两个方面的需求,并拥有足够的深度以便实用。废话不多说,下面展示给大家。
|
2月前
|
数据采集 数据可视化 Ruby
GitHub星标破万!Python学习教程(超详细),真的太强了!
Python 是一门初学者友好的编程语言,想要完全掌握它,你不必花上太多的时间和精力。 Python 的设计哲学之一就是简单易学,体现在两个方面: 1. 语法简洁明了:相对 Ruby 和 Perl,它的语法特性不多不少,大多数都很简单直接,不玩儿玄学。 2. 切入点很多:Python 可以让你可以做很多事情,科学计算和数据分析、爬虫、Web 网站、游戏、命令行实用工具等等等等,总有一个是你感兴趣并且愿意投入时间的。
|
2月前
|
机器学习/深度学习 开发者 Python
Python 与 R 在机器学习入门中的学习曲线差异
【8月更文第6天】在机器学习领域,Python 和 R 是两种非常流行的编程语言。Python 以其简洁的语法和广泛的社区支持著称,而 R 则以其强大的统计功能和数据分析能力受到青睐。本文将探讨这两种语言在机器学习入门阶段的学习曲线差异,并通过构建一个简单的线性回归模型来比较它们的体验。
50 7
|
2月前
|
JSON API 开发者
Python学习Get方式通过商品 ID请求 获取拼多多商品详情数据接口
拼多多商品详情数据接口服务使开发者或商家能编程获取平台商品详情,涵盖标题、价格、销量等关键信息,助力市场分析与决策。使用前需注册开发者账号并获取API密钥;构造含商品ID等参数的请求URL后发送至API服务器;接口以JSON格式返回数据。应用场景包括商品销售分析、选品、品牌口碑挖掘及竞品分析,为商家提供强大数据支持。
|
2月前
|
算法 数据挖掘 大数据
深入学习Python的性能优化
【8月更文挑战第9天】深入学习Python性能优化涵盖设定明确目标、运用timeit与cProfile等工具诊断瓶颈、优化代码结构与算法、采用并行/并发技术、利用生成器与第三方库等策略。这是一个持续学习的过程,旨在全面提升代码效率与响应速度。
30 1
|
3月前
|
机器学习/深度学习 搜索推荐 TensorFlow
使用Python实现深度学习模型:智能教育与个性化学习
【7月更文挑战第29天】 使用Python实现深度学习模型:智能教育与个性化学习
125 9
|
2月前
|
数据采集 人工智能 数据可视化
【2023年电工杯竞赛】B题 人工智能对大学生学习影响的评价 数学建模方案和python代码
本文介绍了2023年电工杯竞赛B题的数学建模方案和Python代码实现,详细阐述了如何分析调查问卷数据,建立评价指标体系,构建数学模型评估人工智能对大学生学习的影响,并提供了数据预处理、特征编码、可视化分析等代码示例。
39 0
【2023年电工杯竞赛】B题 人工智能对大学生学习影响的评价 数学建模方案和python代码
|
2月前
|
存储 JSON 测试技术
Python中最值得学习的第三方JSON库
Python中最值得学习的第三方JSON库
|
2月前
|
机器学习/深度学习 人工智能 TensorFlow
神经网络不再是黑魔法!Python带你一步步拆解,让AI学习看得见
【8月更文挑战第3天】神经网络,曾被视为难以触及的黑魔法,现已在Python的助力下变得平易近人。以TensorFlow或PyTorch为“魔法杖”,仅需几行Python代码即可构建强大的AI模型。从零开始,我们将教导AI识别手写数字,利用经典的MNIST数据集。通过数据加载、预处理至模型训练与评估,每个步骤都如精心编排的舞蹈般清晰可见。随着训练深入,AI逐渐学会辨认每个数字,其学习过程直观展现。这不仅揭示了神经网络的奥秘,更证明了任何人都能借助Python创造AI奇迹,共同探索未来的无限可能。
36 2
|
2月前
|
数据采集 数据挖掘 数据处理
解锁Python数据分析新技能!Pandas实战学习,让你的数据处理能力瞬间飙升!
【8月更文挑战第22天】Python中的Pandas库简化了数据分析工作。本文通过分析一个金融公司的投资数据文件“investment_data.csv”,介绍了Pandas的基础及高级功能。首先读取并检查数据,包括显示前几行、列名、形状和数据类型。随后进行数据清洗,移除缺失值与重复项。接着转换日期格式,并计算投资收益。最后通过分组计算平均投资回报率,展示了Pandas在数据处理与分析中的强大能力。
36 0
下一篇
无影云桌面