1、字符串和数字不能一起拼接
2、思路不清晰时,导致的错误。可以将相应步骤的结果print输出出来看得到的是什么,然后再将出现问题的代码注释掉,分析进行下一步操作

lst = [{'title':'霸王别姬','actor':['张国荣','巩俐']},
       {'title':'扬名立万','actor':['邓家佳','尹正']},
       {'title':'误杀','actor':['肖央','谭卓']}]
name = input('请输入演员名字:')
for movie in lst:
    lst_actor = movie['actor']
    if name in lst_actor:
        print(name,'出演了',movie['title'])

输出结果:
请输入演员名字:张国荣
张国荣 出演了 霸王别姬

3、python的异常处理机制

a = int(input('请输入一个整数:'))
b = int(input('请输入另一个整数:'))
result = a/b
print("结果为:",result)
#当b输入0时,会报错 ZeroDivisionError: division by zero
#当输入非数字时,报错 ValueError: invalid literal for int() with base 10: 'a'

3.1 try-多个except

try:
    a = int(input('请输入一个整数:'))
    b = int(input('请输入另一个整数:'))
    result = a / b
    print("结果为:", result)
except ZeroDivisionError:
    print("对不起,除数不允许为0")
except ValueError:
    print("只能输入数字串")
except BaseException as e:
    print(e)
print("程序结束!")

输出结果1:
请输入一个整数:a
只能输入数字串
程序结束!

输出结果2:
请输入一个整数:5
请输入另一个整数:0
对不起,除数不允许为0
程序结束!

输出结果3:
请输入一个整数:6
请输入另一个整数:5
结果为: 1.2
程序结束!

3.2 try-except-else
如果try块没有抛出异常,则执行else块;如果try中抛出异常,则执行except块

try:
    a = int(input('请输入一个整数:'))
    b = int(input('请输入另一个整数:'))
    result = a / b
except BaseException as e:
    print("出错了",e)
else:
    print("结果为:", result)

输出结果1:
请输入一个整数:4
请输入另一个整数:5
结果为: 0.8

输出结果2:
请输入一个整数:l
出错了 invalid literal for int() with base 10: ‘l’

3.3 try-except-else-finally
finally块无论是否异常都会被执行,一般用来释放try块中存放的资源

try:
    a = int(input('请输入一个整数:'))
    b = int(input('请输入另一个整数:'))
    result = a / b
except BaseException as e:
    print("出错了", e)
else:
    print("结果为:", result)
finally:
    print("谢谢您的使用!")
print("程序结束!")

输出结果1:
请输入一个整数:4
请输入另一个整数:5
结果为: 0.8
谢谢您的使用!
程序结束!

输出结果2:
请输入一个整数:6
请输入另一个整数:0
出错了 division by zero
谢谢您的使用!
程序结束!

4、当程序执行到断点处时,是会暂停执行的