一、课程导入
本单元我们学习了模块知识,学习了常用的模块如:时间模块math,时间模块time和datetime,随机模块random等,本节课我们将系统的去运用所学知识,完成一些代码程序。
二、案例
1.剪刀石头布
猜拳又称为划拳,在面对一些小事情,我们总是通过猜拳来决定。学习了模块后, 我们可以模拟和电脑玩剪刀石头布的游戏。
分析题目:
玩家和电脑每次出一次拳头,根据三种规则来进行比较,如下图:
代码程序:
# 导入随机数random模块 import random # 你的猜测 you_guess = ["石头","剪刀","布"] # 游戏规则 guize = [["布","石头"],["石头","剪刀"],["剪刀","布"]] a = 0 while a < 3: people = input('请输入:石头,剪刀,布\n') # 从序列中选取一个元素 computer = random.choice(you_guess) if computer == people: print("平手啦!") elif [computer,people] in guize : print("电脑获胜!") else: print("人获胜!") a += 1
2.扑克牌游戏
玩扑克牌比较大小,是我们经常玩的游戏,编写小程序随机让电脑给你和朋友抽取两张牌比较大小。
分析题目:
每次分发一张牌,获取牌面的大小,进行牌面的大小的比较
代码程序:
# 导入随机数random模块 import random # 花色列表 flowers=["红桃","方片","梅花","黑桃"] # 牌面列表 faces=["2","3","4","5","6","7","8","9","10","J","Q","K","A","King","Queen"] keep_going=input("要开始吗:") while keep_going != "": my_flower = random.choice(flowers) my_face=random.choice(faces) your_flower=random.choice(flowers) your_face=random.choice(faces) print("我的是%s%s"%(my_flower,my_face)) print("你的是%s%s"%(your_flower,your_face)) # 获取 if faces.index(my_face) > faces.index(your_face): print("我赢了") elif faces.index(your_face) > faces.index(my_face): print("你赢了") else: print("平局") keep_going=input("按回车键退出,按其他键继续") print("下次再玩吧!")
3.福利彩票
编写程序,从编号为1-33的红色球中,抽取6个红色球, 不允许重复,从编号为1-16的蓝色球中,抽取一个蓝色球。
分析题目:
将1-33号的红球和1-16号的蓝色球存放在列表中,随机抽取
代码程序:
# 导入随机数模块 import random # 定义函数 def cai_piao(): #先建立一个列表,表示红色球 num = [i for i in range(1, 34)] a = [] for i in range(6): a.append(random.choice(num)) num.remove(a[-1]) #建立列表将抽取的蓝色球加入列表a中 a.append(random.choice([i for i in range(1, 17)])) print(a) cai_piao()