懒得看的话可以直接去看最后的那个代码
这是最终的三局两胜版本的运行结果。
那么,猜拳首先无非就是:赢了,输了,平局这三种情况。
如果用列表来表示玩家(左)胜利的三种情况,那就是
[石,剪]
[剪,布]
[布,石]
那么,我的思路就是,把玩家和电脑的出拳弄成这样子:
[玩家,电脑]
对,就是列表,然后跟上面三种情况做比对(==),用if语句分别写出玩家赢,平局的情况,剩下的就是玩家输的情况了。
if 玩家赢
elif 平局
else 玩家输
大概这样子。
然后只需要解决掉亿点小问题就完成啦
import random #为了让电脑随机出数而引用的东西
print('剪刀 = 1 | 石头 = 2 | 布 = 3') #声明一下哪个是哪个
x1 = ord(input('玩家出拳: ')) #ord是取ascii码。我知道肯定会有银想输字母
x2 = random.randint(1,3) #意思是让电脑在1,2,3里面随机出一个
print(f'玩家使用了:{x1-48}\n电脑使用了:{x2}')#本着公平公正公开的原则让大家都看到电脑到底出了啥
l1 = [49,3] #这三个list是玩家获胜的三种情况.
l2 = [51,2] #49,50,51即1,2,3的ascii码
l3 = [50,1] #也可以写成l3 = [ ord(2), 1]
l5 = [x1,x2] #卧槽为什么不是l4?
if 49 <= x1 <= 51 : #保证玩家输入的是123而不是什么奇怪的数值
if l5 == l1 or l5 == l2 or l5 == l3:#通过比较l5与l123是否相等来判断玩家是否获胜
print('玩家赢辽')
elif (x1-48) == x2: #平局是这样的
print('平局嗷')
else: #除了赢、平局,剩下的情况就是玩家输了
print('玩家苏辽')
else: