零基础入门学习Python 08

文章讲述了递归的概念,通过阶乘和汉诺塔问题举例说明递归的使用。同时介绍了Python的异常处理机制,包括标准异常层次结构和异常处理语句如try-except和raise。
摘要由CSDN通过智能技术生成

目录

1.递归

2.异常处理


1.递归

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

 def factorial(n)
    if n == 1:
      return 1
  else:
      return n * factorial(n - 1)
    
以上是一个计算阶乘的例子

def fab(n):
		if n < 1:
    		print("输入有误!")
        return -1
    if n ==1 or n == 2:
    		return 1
    else:
    		return fab(n--1) + fab(n-2)

result = fab(12)
if result != -1:
		print(result)

 如:汉诺塔解法

def hanoi(n, x, y, z)
if n == 1:
  print(x, '-->', z)
else:
  hanoi(n-1, x, z, y)		# 将n-1个盘子从x移动到y上
  print(x, '-->', z)		# 将最底下的最后一个盘子从x移动到z上
  hanoi(n-1, y, x, z)		# 将y上的n-1个盘子移动到z上

  n = int(input("请输入汉诺塔层数:"))
  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(‘此为异常解释内容’)
  •  

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值