【风变编程】第七课笔记


 

第七课

链接:[ 全文章目录 ]

一、布尔值与布尔运算


(一)bool()函数

判断真假

bool(False)
输出:
False

 

(二)and、or、not、in、not in五种运算

 
 

二、break、continue、pass、else语句


(一)简单解释

(二)else

当循环中没有碰到break语句,就会执行循环后面的else语句,否则就不会执行。

for i in range(5):
    a = int(input('请输入0结束循环,你有5次机会:'))
    if a == 0:
        print('你触发了break语句,导致else语句不会生效。')    
        break
else:
    print('5次循环你都错过了,else语句生效了。')

 
 

INF、练习题


(一)囚徒困境

练习要求:

假设有两名囚徒A和B因为合伙犯罪被抓捕,因没有确凿可以指认罪行的证据,审判者准备单独审判两位囚徒。
1.若两人都认罪,则两人各判10年;
2.若一个认罪一个抵赖,则认罪的人判1年,抵赖的人判20年;
3.若两人都抵赖,则各判3年。

现在,请写个代码:当两人都抵赖时,打印判决,代码结束;若为其他结果,则在打印判决后继续循环。


(二)记录困境中的选择

练习要求:
上一个练习,我们将“囚徒困境”写成了代码,让程序收集两名囚犯的认罪情况,进而决定他们的判决:
两人都认罪,则各判10年;一个认罪一个抵赖,则前者判1年,后者判20年;两人都抵赖,各判3年。只有两人都不认罪,程序才会停止。
现在有一个社会学家,在不同的人群中做这个实验,一旦遇到都不认罪的情况,就停止该人群中的实验。
同时,他希望程序能记录每一对实验者的选择,以及记录第几对实验者都选择不认罪。请你帮帮他吧。


(三)演员的作品

练习要求:

我很喜欢看电影,我回忆了一下,这两年我觉得还不错的国产电影。
下面,会将电影的影片名和主演放在字典里,如:

movie = {'妖猫传':['黄轩','染谷将太']}

需要你补充一些代码,让其他人只要输入演员名,就打印出:××出演了电影××。
 
 
 
 

INF+1、练习题答案


 
 
 
 

(一)囚徒困境

考察点:
1.while True
2.break

while True:
    a = input('A,你认罪吗?请回答认罪或者不认')
    b = input('B,你认罪吗?请回答认罪或者不认')
    if a == '认罪' and b == '认罪':
        print('两人都得判10年,唉')
    elif a == '不认' and b == '认罪':
        print('A判20年,B判1年,唉')
    elif a == '认罪' and b == '不认':
        print('A判1年,B判20年')
    else:
        print('都判3年,太棒了')
        break  # 当满足开头提到的条件时,跳出循环。

(二)记录困境中的选择

考察点:
1.for循环
2.range()函数

n = 0
list_answer = []

while True:
    n += 1
    a = input('A,你认罪吗?请回答认罪或者不认:')
    b = input('B,你认罪吗?请回答认罪或者不认:')
    list_answer.append([a,b])  # 用列表嵌套的方式来存放实验者的选择,也可用元组或字典。
    if a == '认罪' and b == '认罪':
        print('两人都得判10年,唉')
    elif a == '不认' and b == '认罪':
        print('A判20年,B判1年,唉')
    elif a == '认罪' and b == '不认':
        print('A判1年,B判20年')
    else:
        print('都判3年,太棒了')
        break

print('第' + str(n) + '对实验者选了最优解。')

for i in range(n):
    # 注意数据类型的转换,以及计数起点的不同(0和1)
    print('第' + str(i+1) + '对实验者的选择是:' + str(list_answer[i]))

(三)演员的作品

考察点:
1.数据提取
2.条件判断

movies = {
'妖猫传':['黄轩','染谷将太'],
'无问西东':['章子怡','王力宏','祖峰'],
'超时空同居':['雷佳音','佟丽娅'],
}

actor = input('你想查询哪个演员?')
for  movie in movies:  # 用 for 遍历字典
    actors = movies[movie]  # 读取各个字典的主演表
    if actor in actors:
        print(actor + '出演了电影' + movie)

 
 
链接:[ 全文章目录 ]

  • 6
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值