猫史档案馆


【Python作品分享】井字棋(玩家先手)

用户:一位喵boy一位喵boy查看:5 回复:6 评论:5 创建时间:2022-01-25T17:40:26


【作品展示】

center_image

 

【作品介绍】

python新手第二个作品:井字棋

做的时候觉得挺简单,然后就写了500多行...(大佬勿cue),if语句做出的人机,智商还行。如果发现程序有错,请提出!谢谢!

 

【作品源代码】

a1='.'
a2='.'
a3='.'
b1='.'
b2='.'
b3='.'
c1='.'
c2='.'
c3='.'
import time
user_name = input('你是谁?')
print((user_name + '我们来下井字棋吧!'))
time.sleep(1)
print(a1+' '+a2+' '+a3)
print(b1+' '+b2+' '+b3)
print(c1+' '+c2+' '+c3)
print("比赛开始")
user_answer=0
winner=None
rounds=0
good=None
while winner == None:
    user_answer = (input("你要下哪呢?"))
    if user_answer =='a1' and a1 == '.':
        a1='X'
    elif user_answer == 'a2' and a1 == '.':
        a2 = 'X'
    elif user_answer == 'a3' and a3 == '.':
        a3 = 'X'
    elif user_answer == 'b1' and b1 == '.':
        b1 = 'X'
    elif user_answer == 'b2' and b2 == '.':
        b2 = 'X'
    elif user_answer == 'b3' and b3 == '.':
        b3 = 'X'
    elif user_answer == 'c1' and c1 == '.':
        c1 = 'X'
    elif user_answer == 'c2' and c2 == '.':
        c2 = 'X'
    elif user_answer == 'c3' and c3 == '.':
        c3 = 'X'
    else:
        print('请重试')
        continue
    rounds = rounds+1
    print(a1+' '+a2+' '+a3)
    print(b1+' '+b2+' '+b3)
    print(c1+' '+c2+' '+c3)
    if rounds == 5:
        rounds=6
    time.sleep(1)
    print('我下这')
    if rounds == 1:
        if a1 == 'X' or a3 == 'X' or c1 == 'X' or c3 == 'X':
            b2 = 'O'
            good = 0
        else:
            a1='O'
            good = 1
    elif rounds == 2:
        if good == 1:
            if b1=='X' and b2=='X' and b3=='.':  
                b3='O'
                good=0
            elif b1 == 'X' and b3 == 'X' and b2 == '.':
                b2 = 'O'
            elif b2 == 'X' and b3 == 'X' and b1 == '.':
                b1 = 'O'
                good=0
            elif a2 == 'X' and b2 == 'X' and c2 == '.':
                c2='O'
                good=0
            elif a2 == 'X' and c2 == 'X' and b2 == '.':
                b2='O'
            elif b2 == 'X' and c2 == 'X' and a2 == '.':
                a2='O'
                good=0
            elif c1 == 'X' and c2 == 'X' and c3 == '.':
                c3='O'
            elif c2 == 'X' and c3 == 'X' and c1 == '.':
                c1='O'
            elif a3 == 'X' and b3 == 'X' and c3 == '.':
                c3='O'
            elif b3 == 'X' and c3 == 'X' and a3 == '.':
                a3='O'
            elif b2 == 'X' and c1 == 'X' and a3 == '.':
                a3='O'
                good=0
            elif b2 == 'X' and a3 == 'X' and c1 == '.':
                c1='O'
                good=0
            elif a3=='.':
                a3='O'
            elif c1 == '.':
                c1 = 'O'
            else:
                c3 = 'O'
        elif good == 0:
            if a1 == 'X' and a2 == 'X' and a3 == '.':
                a3='O'
            elif a1 == 'X' and a3 == 'X' and a2 == '.':
                a2 = 'O'
            elif a2 == 'X' and a3 == 'X' and a1 == '.':
                a1 = 'O'
            elif c1 == 'X' and c2 == 'X' and c3 == '.':
                c3='O'
            elif c1 == 'X' and c3 == 'X' and c2 == '.':
                c2='O'
            elif c2 == 'X' and c3 == 'X' and c1 == '.':
                c1='O'
            elif a1 == 'X' and b1 == 'X' and c1 == '.':
                c1='O'
            elif a1 == 'X' and c1 == 'X' and b1 == '.':
                b1='O'
            elif b1 == 'X' and c1 == 'X' and a1 == '.':
                a1='O'
            elif a3 == 'X' and b3 == 'X' and c3 == '.':
                c3 = 'O'
            elif a3 == 'X' and c3 == 'X' and b3 == '.':
                b3 = 'O'
            elif b3 == 'X' and c3 == 'X' and a3 == '.':
                a3 = 'O'
            elif a1 == 'X' and b2 == 'X' and c3 == '.':
                c3 = 'O'
            elif a1 == 'X' and c3 == 'X' and b2 == '.':
                b2 = 'O'
            elif b2 == 'X' and c3 == 'X' and a1 == '.':
                a1 = 'O'
            elif a3 == 'X' and b2 == 'X' and c1 == '.':
                b2 = 'O'
            elif a3 == 'X' and c1 == 'X' and b2 == '.':
                b2 = 'O'
            elif b2 == 'X' and c1 == 'X' and a3 == '.':
                a3 = 'O'
            elif a1 == '.':
                a1 = 'O'
            elif a2 == '.':
                a2 = 'O'
            elif a3 == '.':
                a3 = 'O'
            elif b1 == '.':
                b1 = 'O'
            elif b2 == '.':
                b2 = 'O'
            elif b3 == '.':
                b3 = 'O'
            elif c1 == '.':
                c1 = 'O'
            elif c2 == '.':
                c2 = 'O'
            else:
                c3 = 'O'
    elif rounds==3:
        if a1 == 'O' and a2 == 'O' and a3 == '.':
            a3 = 'O'
        elif a1 == 'O' and a3 == 'O' and a2 == '.':
            a2 = 'O'
        elif a2 == 'O' and a3 == 'O' and a1 == '.':
            a1 = 'O'
        elif b1 == 'O' and b2 == 'O' and b3 == '.':
            b3 = 'O'
        elif b1 == 'O' and b3 == 'O' and b2 == '.':
            b2 = 'O'
        elif b2 == 'O' and b3 == 'O' and b1 == '.':
            b1 = 'O'
        elif c1 == 'O' and c2 == 'O' and c3 == '.':
            a3 = 'O'
        elif c1 == 'O' and c3 == 'O' and c2 == '.':
            a3 = 'O'
        elif c2 == 'O' and c3 == 'O' and c1 == '.':
            a3 = 'O'
        elif a1 == 'O' and b1 == 'O' and c1 == '.':
            c1 = 'O'
        elif a1 == 'O' and c1 == 'O' and b1 == '.':
            b1 = 'O'
        elif b1 == 'O' and c1 == 'O' and a1 == '.':
            a1 = 'O'
        elif a2 == 'O' and b2 == 'O' and c2 == '.':
            c2 = 'O'
        elif a2 == 'O' and c2 == 'O' and b2 == '.':
            b2 = 'O'
        elif b2 == 'O' and c2 == 'O' and a2 == '.':
            a2 = 'O'
        elif a3 == 'O' and b3 == 'O' and c3 == '.':
            c3 = 'O'
        elif a3 == 'O' and c3 == 'O' and b3 == '.':
            b3 = 'O'
        elif b3 == 'O' and c3 == 'O' and a3 == '.':
            a3 = 'O'
        elif a1 == 'O' and b2 == 'O' and c3 == '.':
            c3 = 'O'
        elif a1 == 'O' and c3 == 'O' and b2 == '.':
            b2 = 'O'
        elif b2 == 'O' and c3 == 'O' and a1 == '.':
            a1 = 'O'
        elif a3 == 'O' and b2 == 'O' and c1 == '.':
            c1 = 'O'
        elif a3 == 'O' and c1 == 'O' and b2 == '.':
            b2 = 'O'
        elif b2 == 'O' and c1 == 'O' and a3 == '.':
            a3 = 'O'
        elif good == 1:
            if a1 == 'X' and a2 == 'X' and a3 == '.':
                a3 = 'O'
            elif a1 == 'X' and a3 == 'X' and a2 == '.':
                a2 = 'O'
            elif a2 == 'X' and a3 == 'X' and a1 == '.':
                a1 = 'O'
            elif b1 == 'X' and b2 == 'X' and b3 == '.':
                b3 = 'O'
                good = 0 
            elif b1 == 'X' and b3 == 'X' and b2 == '.':
                b2 = 'O'
            elif b2 == 'X' and b3 == 'X' and b1 == '.':
                b1 = 'O'
                good = 0
            elif c1 == 'X' and c2 == 'X' and c3 == '.':
                c3 = 'O'
            elif c1 == 'X' and c3 == 'X' and c2 == '.':
                c2 = 'O'
            elif c2 == 'X' and c3 == 'X' and c1 == '.':
                c1 = 'O'
            elif a1 == 'X' and b1 == 'X' and c1 == '.':
                c1 = 'O'
            elif a1 == 'X' and c1 == 'X' and b1 == '.':
                b1 = 'O'
            elif b1 == 'X' and c1 == 'X' and a1 == '.':
                a1 = 'O'
            elif a2 == 'X' and b2 == 'X' and c2 == '.':
                c2 = 'O'
                good = 0
            elif a2 == 'X' and c2 == 'X' and b2 == '.':
                b2 = 'O'
            elif b2 == 'X' and c2 == 'X' and a2 == '.':
                a2 = 'O'
                good = 0
            elif a3 == 'X' and b3 == 'X' and c3 == '.':
                c3 = 'O'
            elif a3 == 'X' and c3 == 'X' and b3 == '.':
                b3 = 'O'
            elif b3 == 'X' and c3 == 'X' and a3 == '.':
                a3 = 'O'
            elif a1 == 'X' and b2 == 'X' and c3 == '.':
                c3 = 'O'
                good = 0
            elif a1 == 'X' and c3 == 'X' and b2 == '.':
                b2 = 'O'
            elif b2 == 'X' and c3 == 'X' and a1 == '.':
                a1 = 'O'
                good = 0
            elif a3 == 'X' and b2 == 'X' and c1 == '.':
                b2 = 'O'
                good = 0
            elif a3 == 'X' and c1 == 'X' and b2 == '.':
                b2 = 'O'
            elif b2 == 'X' and c1 == 'X' and a3 == '.':
                a3 = 'O'
                good = 0
            elif a1 == 'O' and a3 == 'O' and b1 == '.' and b2 == '.' and c1 == '.':
                c1 = 'O'
            elif a1 == 'O' and a3 == 'O' and b2 == '.' and b3 == '.' and c3 == '.':
                c3 = 'O'
            elif a1 == 'O' and c1 == 'O' and b2 == '.' and c2 == '.' and c3 == '.':
                c1 = 'O'
            elif a1 == '.':
                a1 = 'O'
            elif a2 == '.':
                a2 = 'O'
            elif a3 == '.':
                a3 = 'O'
            elif b1 == '.':
                b1 = 'O'
            elif b2 == '.':
                b2 = 'O'
            elif b3 == '.':
                b3 = 'O'
            elif c1 == '.':
                c1 = 'O'
            elif c2 == '.':
                c2 = 'O'
            else:
                c3 = 'O'
        elif good == 0:
            if a1 == 'X' and a2 == 'X' and a3 == '.':
                a3 = 'O'
            elif a1 == 'X' and a3 == 'X' and a2 == '.':
                a2 = 'O'
            elif a2 == 'X' and a3 == 'X' and a1 == '.':
                a1 = 'O'
            elif c1 == 'X' and c2 == 'X' and c3 == '.':
                c3 = 'O'
            elif c1 == 'X' and c3 == 'X' and c2 == '.':
                c2 = 'O'
            elif c2 == 'X' and c3 == 'X' and c1 == '.':
                c1 = 'O'
            elif a1 == 'X' and b1 == 'X' and c1 == '.':
                c1 = 'O'
            elif a1 == 'X' and c1 == 'X' and b1 == '.':
                b1 = 'O'
            elif b1 == 'X' and c1 == 'X' and a1 == '.':
                a1 = 'O'
            elif a3 == 'X' and b3 == 'X' and c3 == '.':
                c3 = 'O'
            elif a3 == 'X' and c3 == 'X' and b3 == '.':
                b3 = 'O'
            elif b3 == 'X' and c3 == 'X' and a3 == '.':
                a3 = 'O'
            elif a1 == 'X' and b2 == 'X' and c3 == '.':
                c3 = 'O'
            elif a1 == 'X' and c3 == 'X' and b2 == '.':
                b2 = 'O'
            elif b2 == 'X' and c3 == 'X' and a1 == '.':
                a1 = 'O'
            elif a3 == 'X' and b2 == 'X' and c1 == '.':
                b2 = 'O'
            elif a3 == 'X' and c1 == 'X' and b2 == '.':
                b2 = 'O'
            elif b2 == 'X' and c1 == 'X' and a3 == '.':
                a3 = 'O'
            elif a1 == '.':
                a1 = 'O'
            elif a2 == '.':
                a2 = 'O'
            elif a3 == '.':
                a3 = 'O'
            elif b1 == '.':
                b1 = 'O'
            elif b2 == '.':
                b2 = 'O'
            elif b3 == '.':
                b3 = 'O'
            elif c1 == '.':
                c1 = 'O'
            elif c2 == '.':
                c2 = 'O'
            else:
                c3 = 'O'
    elif rounds == 4:
        if a1 == 'O' and a2 == 'O' and a3 == '.':
            a3 = 'O'
        elif a1 == 'O' and a3 == 'O' and a2 == '.':
            a2 = 'O'
        elif a2 == 'O' and a3 == 'O' and a1 == '.':
            a1 = 'O'
        elif b1 == 'O' and b2 == 'O' and b3 == '.':
            b3 = 'O'
        elif b1 == 'O' and b3 == 'O' and b2 == '.':
            b2 = 'O'
        elif b2 == 'O' and b3 == 'O' and b1 == '.':
            b1 = 'O'
        elif c1 == 'O' and c2 == 'O' and c3 == '.':
            a3 = 'O'
        elif c1 == 'O' and c3 == 'O' and c2 == '.':
            a3 = 'O'
        elif c2 == 'O' and c3 == 'O' and c1 == '.':
            a3 = 'O'
        elif a1 == 'O' and b1 == 'O' and c1 == '.':
            c1 = 'O'
        elif a1 == 'O' and c1 == 'O' and b1 == '.':
            b1 = 'O'
        elif b1 == 'O' and c1 == 'O' and a1 == '.':
            a1 = 'O'
        elif a2 == 'O' and b2 == 'O' and c2 == '.':
            c2 = 'O'
        elif a2 == 'O' and c2 == 'O' and b2 == '.':
            b2 = 'O'
        elif b2 == 'O' and c2 == 'O' and a2 == '.':
            a2 = 'O'
        elif a3 == 'O' and b3 == 'O' and c3 == '.':
            c3 = 'O'
        elif a3 == 'O' and c3 == 'O' and b3 == '.':
            b3 = 'O'
        elif b3 == 'O' and c3 == 'O' and a3 == '.':
            a3 = 'O'
        elif a1 == 'O' and b2 == 'O' and c3 == '.':
            c3 = 'O'
        elif a1 == 'O' and c3 == 'O' and b2 == '.':
            b2 = 'O'
        elif b2 == 'O' and c3 == 'O' and a1 == '.':
            a1 = 'O'
        elif a3 == 'O' and b2 == 'O' and c1 == '.':
            c1 = 'O'
        elif a3 == 'O' and c1 == 'O' and b2 == '.':
            b2 = 'O'
        elif b2 == 'O' and c1 == 'O' and a3 == '.':
            a3 = 'O'
        elif good == 1:
            if a1 == 'X' and a2 == 'X' and a3 == '.':
                a3 = 'O'
            elif a1 == 'X' and a3 == 'X' and a2 == '.':
                a2 = 'O'
            elif a2 == 'X' and a3 == 'X' and a1 == '.':
                a1 = 'O'
            elif b1 == 'X' and b2 == 'X' and b3 == '.':
                b3 = 'O'
                good = 0
            elif b1 == 'X' and b3 == 'X' and b2 == '.':
                b2 = 'O'
            elif b2 == 'X' and b3 == 'X' and b1 == '.':
                b1 = 'O'
                good = 0
            elif c1 == 'X' and c2 == 'X' and c3 == '.':
                c3 = 'O'
            elif c1 == 'X' and c3 == 'X' and c2 == '.':
                c2 = 'O'
            elif c2 == 'X' and c3 == 'X' and c1 == '.':
                c1 = 'O'
            elif a1 == 'X' and b1 == 'X' and c1 == '.':
                c1 = 'O'
            elif a1 == 'X' and c1 == 'X' and b1 == '.':
                b1 = 'O'
            elif b1 == 'X' and c1 == 'X' and a1 == '.':
                a1 = 'O'
            elif a2 == 'X' and b2 == 'X' and c2 == '.':
                c2 = 'O'
                good = 0
            elif a2 == 'X' and c2 == 'X' and b2 == '.':
                b2 = 'O'
            elif b2 == 'X' and c2 == 'X' and a2 == '.':
                a2 = 'O'
                good = 0
            elif a3 == 'X' and b3 == 'X' and c3 == '.':
                c3 = 'O'
            elif a3 == 'X' and c3 == 'X' and b3 == '.':
                b3 = 'O'
            elif b3 == 'X' and c3 == 'X' and a3 == '.':
                a3 = 'O'
            elif a1 == 'X' and b2 == 'X' and c3 == '.':
                c3 = 'O'
                good = 0
            elif a1 == 'X' and c3 == 'X' and b2 == '.':
                b2 = 'O'
            elif b2 == 'X' and c3 == 'X' and a1 == '.':
                a1 = 'O'
                good = 0
            elif a3 == 'X' and b2 == 'X' and c1 == '.':
                b2 = 'O'
                good = 0
            elif a3 == 'X' and c1 == 'X' and b2 == '.':
                b2 = 'O'
            elif b2 == 'X' and c1 == 'X' and a3 == '.':
                a3 = 'O'
                good = 0
            elif a1 == '.':
                a1 = 'O'
            elif a2 == '.':
                a2 = 'O'
            elif a3 == '.':
                a3 = 'O'
            elif b1 == '.':
                b1 = 'O'
            elif b2 == '.':
                b2 = 'O'
            elif b3 == '.':
                b3 = 'O'
            elif c1 == '.':
                c1 = 'O'
            elif c2 == '.':
                c2 = 'O'
            else:
                c3 = 'O'
        elif good == 0:
            if a1 == 'X' and a2 == 'X' and a3 == '.':
                a3 = 'O'
            elif a1 == 'X' and a3 == 'X' and a2 == '.':
                a2 = 'O'
            elif a2 == 'X' and a3 == 'X' and a1 == '.':
                a1 = 'O'
            elif c1 == 'X' and c2 == 'X' and c3 == '.':
                c3 = 'O'
            elif c1 == 'X' and c3 == 'X' and c2 == '.':
                c2 = 'O'
            elif c2 == 'X' and c3 == 'X' and c1 == '.':
                c1 = 'O'
            elif a1 == 'X' and b1 == 'X' and c1 == '.':
                c1 = 'O'
            elif a1 == 'X' and c1 == 'X' and b1 == '.':
                b1 = 'O'
            elif b1 == 'X' and c1 == 'X' and a1 == '.':
                a1 = 'O'
            elif a3 == 'X' and b3 == 'X' and c3 == '.':
                c3 = 'O'
            elif a3 == 'X' and c3 == 'X' and b3 == '.':
                b3 = 'O'
            elif b3 == 'X' and c3 == 'X' and a3 == '.':
                a3 = 'O'
            elif a1 == 'X' and b2 == 'X' and c3 == '.':
                c3 = 'O'
            elif a1 == 'X' and c3 == 'X' and b2 == '.':
                b2 = 'O'
            elif b2 == 'X' and c3 == 'X' and a1 == '.':
                a1 = 'O'
            elif a3 == 'X' and b2 == 'X' and c1 == '.':
                b2 = 'O'
            elif a3 == 'X' and c1 == 'X' and b2 == '.':
                b2 = 'O'
            elif b2 == 'X' and c1 == 'X' and a3 == '.':
                a3 = 'O'
            elif a1 == '.':
                a1 = 'O'
            elif a2 == '.':
                a2 = 'O'
            elif a3 == '.':
                a3 = 'O'
            elif b1 == '.':
                b1 = 'O'
            elif b2 == '.':
                b2 = 'O'
            elif b3 == '.':
                b3 = 'O'
            elif c1 == '.':
                c1 = 'O'
            elif c2 == '.':
                c2 = 'O'
            else:
                c3 = 'O'
    elif rounds == 6:
        time.sleep(0.1)
    if a1 == 'X' and a2 == 'X' and a3 == 'X':
        winner='你赢了'
    if b1 == 'X' and b2 == 'X' and b3 == 'X':
        winner = '你赢了'
    if c1 == 'X' and c2 == 'X' and c3 == 'X':
        winner = '你赢了'
    if a1 == 'X' and b1 == 'X' and c1 == 'X':
        winner = '你赢了'
    if a2 == 'X' and b2 == 'X' and c2 == 'X':
        winner = '你赢了'
    if a3 == 'X' and b3 == 'X' and c3 == 'X':
        winner = '你赢了'
    if a1 == 'X' and b2 == 'X' and c3 == 'X':
        winner = '你赢了'
    if c1 == 'X' and b2 == 'X' and a3 == 'X':
        winner = '你赢了'
    if a1 == 'O' and a2 == 'O' and a3 == 'O':
        winner = '你输了'
    if b1 == 'O' and b2 == 'O' and b3 == 'O':
        winner = '你输了'
    if c1 == 'O' and c2 == 'O' and c3 == 'O':
        winner = '你输了'
    if a1 == 'O' and b1 == 'O' and c1 == 'O':
        winner = '你输了'
    if a2 == 'O' and b2 == 'O' and c2 == 'O':
        winner = '你输了'
    if a3 == 'O' and b3 == 'O' and c3 == 'O':
        winner = '你输了'
    if a1 == 'O' and b2 == 'O' and c3 == 'O':
        winner = '你输了'
    if c1 == 'O' and b2 == 'O' and a3 == 'O':
        winner = '你输了'
    if rounds==6 and winner==None:
        winner = '无人胜利'
        break
    print(a1+' '+a2+' '+a3)
    print(b1+' '+b2+' '+b3)
    print(c1+' '+c2+' '+c3)
print('比赛结束')
print(user_name+','+winner+'!')
#输给人机的都是_____
#赢了人机的_____
#平了的,不是_____,也不是_____,更不是_____

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
SLC_KinGMonKeYSLC_KinGMonKeY

真大神

点赞1


评论


一位喵boy一位喵boy

错误1:

if user_answer =='a1' and a1 == '.':
        a1='X'
    elif user_answer == 'a2' and a1 == '.':
        a2 = 'X'
    elif user_answer == 'a3' and a3 == '.':
        a3 = 'X'

 应为

if user_answer =='a1' and a1 == '.':
        a1='X'
    elif user_answer == 'a2' and a2 == '.':
        a2 = 'X'
    elif user_answer == 'a3' and a3 == '.':
        a3 = 'X'

 

 

点赞0


评论


yee089yee089

不会数组吗,可以简化代码

点赞1


评论


家灵cAZd家灵cAZd

你换成列表可能会好一些

点赞1


评论


一位喵boy一位喵boy

谢谢大家的夸奖,不过这里的python只有文本,你们说我做点啥比较好呢

点赞0


评论


尬聊boy尬聊boy

判断感觉太多了,可以适当减少的,想一想别的办法,我也做过

点赞0


评论