题目
思考过程
1.首先第一想法肯定是用if else语句写,没毛病,对比着手来操作,但是这样代码量繁琐又细长,最重要的是本题情况不多,但是如果遇到其他题多的情况下我们还是if else去列举比较麻烦。
2.其实情况并不多,我们列举出来试着找一下规律,用数字标明了石头剪刀布分别代表0,1,2,接着我们尝试发现规律
上面的一行是我们的输入
下面一行是随机产生的数
计算他们的差
可以发现输情况下差值是1和-2
赢的情况下差值是-1和2
平局差值是0
如图 一共有这么多种情况:
代码和结果
#石头剪刀布和随机数
import random
finger = int(input("请输入:石头(0)、剪刀(1)、布(2):")) #这里一定要强制转化一下
rand = random.randint(0,2)
re=finger-rand #差值
print("finger=%d,rand=%d,re=%d" %(finger,rand,re))
if re == -1 or re == 2:
print("恭喜,你赢了")
elif re == 1 or re == -2:
print("哈哈,你输了")
else:
print("平局")