用户:
亦风007查看:0 回复:0 评论:0 创建时间:2021-05-10T17:21:35
【作品展示】

【作品介绍】
一个用python编写的人工喵,使用海龟编辑器创作
【作品源代码】
import turtle
import random
print("这是一个没有感情的猜拳机器")
print("略微有些智能")
print("放心,电脑没有作弊,不信的话,你可以看代码")
cnt = 0
robot = 0
player = 0
flag = 0
c=["石头","剪刀","布"]
p=[0,0,0]
mt=[[0,0,0],[0,0,0],[0,0,0]]
last=0
sc = turtle.Screen()
while True:
print("---------------------------------------------------------------------")
print("输入数字1(石头),2(剪刀),3(布),数字分别代表出啥拳")
a=int(sc.textinput("猜拳","输入一个数字表示你要出的拳(1-3)"))
if cnt==0:
b=3
if a<1 or a>3:
continue
print("")
print("你出的 ",c[a-1])
print("电脑出的",c[b-1])
print("")
#判断谁获胜
if a == b:
print("平局")
elif (a == 1 and b == 2) or (a == 2 and b == 3) or (a == 3 and b == 1):
print("算你赢一局")
player = player + 1
else:
print("这局电脑赢了")
robot = robot + 1
cnt += 1
print("总局数", cnt)
print("玩家胜", player)
print("电脑胜", robot)
#记录上一局,改变策略
#在极大似然法的基础上加了几个特殊判断
flag = 1
mt[last][a-1]+=1
last=a-1
i=0
m=0
while i<3:
if mt[last][i]>mt[last][m]:
m=i
i+=1
b=m
p[cnt%3]=a
if (p[0] == 1 and p[1] == 2 and p[2] == 3) or (p[0] == 2 and p[1] == 3 and p[2] == 1) or (p[0] == 3 and p[1] == 1 and p[2] == 2):
b = p[cnt % 3]
if (p[0] == 3 and p[1] == 2 and p[2] == 1) or (p[0] == 2 and p[1] == 1 and p[2] == 3) or (p[0] == 1 and p[1] == 3 and p[2] == 2):
b = p[(cnt-1) % 3]
if b==0:
b=3
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn