一, 准备基础
学完python学习系列-培训课的条件语句之后可做
二, 题目
实现和电脑的石头剪刀布游戏
三,解析及源代码
分析:
1,大致的操作流程是:用户输入要出什么,然后返回电脑出的什么,并给出谁赢的信息
2,用户输入:使用input来接收用户输入,但是用户输入的可能五花八门,那么可以用一个提示语句来引导用户的标准输入,如“请输入你要出的拳的数字,0代表石头,1代表剪刀,2代表布”
3,返回电脑出的什么:电脑出什么拳应该是随机的,这里可以引入一个包,叫random(常见函数见四),里面有一个random.randint函数,可以随机返回某个范围内的整数,如下
import random
print(random.randint(0,2))
print(random.randint(0,2))
print(random.randint(0,2))
输出为
0
1
0
4,判断谁赢:结合游戏规则,可总结出来如下变量比较规律,如a-b=0,则平,如a-b=1,则b赢,如a-b=-1,则a赢 ,如a-b=2,则a赢,如a-b=-2,则b赢。则直接使用if语句即可
import random
INFO = {0: "石头", 1: "剪刀", 2: "布"}
user = int(input('请输入你要出的拳的数字,0代表石头,1代表剪刀,2代表布'))
comp = random.randint(0,2)
if user == comp:
print("电脑出的是{},你出的也是{},所以是平手".format(INFO[comp], INFO[user]))
elif user-comp == 1 or -2:
print("电脑出的是{},你出的是{},所以是电脑赢了".format(INFO[comp], INFO[user]))
else:
print("电脑出的是{},你出的是{},所以是你赢了".format(INFO[comp], INFO[user]))
输入2,输出为
电脑出的是布,你出的也是布,所以是平手
四,random模块
- random.random() :返回 [0.0, 1.0) 范围内的随机浮点数
- random.randint(a, b):返回 [a, b] 范围内的随机整数
- random.uniform(a, b):返回 [a, b] / [b, a] 范围内的随机浮点数
- random.choice(seq) 从非空序列 seq 返回一个随机元素。 如果 seq为空,则引发 IndexError
- random.sample(population, k) 从序列或者集合中随机获取k个元素,以列表形式返回
- random.seed ([x]) 起固定随机数的作用,x 可以是任意数字(x 可以理解为种子的名字,表示要取固定值的一个参数)
import random
a = random.random()
print(a)
print("-----------------------------------")
b = random.randint(0, 2)
print(b)
print("-----------------------------------")
c = random.uniform(0, 2)
print(c)
print("-----------------------------------")
d = random.choice([0, 1, 2])
print(d)
print("-----------------------------------")
e = random.sample({0,1,2},2)
print(e)
print("-----------------------------------")
random.seed(1)
print(random.random())
print("-----------------------------------")
random.seed(2)
print(random.random())
print("-----------------------------------")
random.seed(1)
print(random.random())
print("-----------------------------------")
输出为
0.6527480909813554
-----------------------------------
1
-----------------------------------
0.2931915859196874
-----------------------------------
2
-----------------------------------
[0, 1]
-----------------------------------
0.13436424411240122
-----------------------------------
0.9560342718892494
-----------------------------------
0.13436424411240122
-----------------------------------