第10关课后习题讲解
###
我们第十关的练习是和电脑进行剪刀石头布
###
这里会用到的知识点有:
1. random模块的使用
2. while循环实现输入判断
3. if条件语句进行条件判断输出结果
在进阶练习中还会涉及到一个新知识:
4. index()函数的使用
###
1.random模块大家应该不陌生,我们在山脚第七关的实操课中也有学习过
不过之前学习到的是random.randint()的使用,这次我们要用到的是random.choice()
random.choice()是random模块中有个随机选取一个元素的方法,我们在练习的使用上,是从列表punches = ['石头','剪刀','布']随机选取一个元素,作为电脑的出拳选择
###
2. while循环实现输入判断
while user_choice not in punches: # 当用户输入错误,提示错误,重新输入
print('输入有误,请重新出拳')
user_choice = input()
while user_choice not in punches 意思是当user_choice不在列表punches中时,进行循环
在循环下,给user_choice重新赋值~再进行循环,直至输入正确
###
3. if条件语句进行条件判断输出结果
这一部分应该不难理解,就是列出可能会出现的各种出拳组合,根据不同的组合情况进行结果的输出
但是我们能看出,这样的方法虽然很直观,也能达到目的,但是不够高级,不够简洁
所以在进阶练习中,我们学习到一个新知识index() 函数
###
4.index() 函数用于找出列表中某个元素第一次出现的索引位置
语法为:list.index(obj),obj为object(对象)的缩写。
简单的看一下这个例子,了解用法
在课程上,可能大家都比较难理解注释里所讲的索引减1是什么意思
这里我们可以结合这张图解一起来看
当电脑出拳为布,索引为2,若玩家想赢,则需出拳为剪刀,索引为1
punches.index(computer_choice)-1
则是将电脑的索引减1,才与玩家的索引相等
当电脑出拳为石头,索引为0,若玩家想赢,则需出拳为布,索引为2
这里就需要注意了,布的索引从正数为2,从倒数则是-1
所以石头的索引0-1=-1,也就是布的索引
###
好啦,第10关的习题讲解到此结束哦~
联系客服