美文网首页自学编程Python日更成长营
自学Python:无法打败的机器人游戏

自学Python:无法打败的机器人游戏

作者: 小强聊成长 | 来源:发表于2022-01-20 12:07 被阅读0次

    有火柴21根,两人依次取,每次每人只可取走1~4根,不能多取,也不能不取,谁取到最后一根火柴谁输。

    那么问题来了,请编写一个人机对弈程序,要求人先取,计算机后取;计算机永远获胜。

    要计算机永远获胜,那么这个游戏就只能是最后保留一根火柴给人来取。

    下面直接上代码:

    ########################

    if __name__ == "__main__":

        huocai = 21  # 21根火柴

        print("--------你不能战胜我,不信试试--------")

        print("开始游戏: ")

        while 1:

            print("--------目前还有火柴 %d 根--------" %huocai)

            ren = int(input("人取火柴:"))  # 人取火柴

            if ren < 1 or ren > 4 or ren > huocai:

                print("你违规了,你取的火柴数有问题!")

                continue

            huocai = huocai - ren  # 人取后,剩余的火柴数

            # 人取后,剩余的火柴数为0,则计算机获胜,跳出循环

            if huocai == 0:

                print("计算机获胜,游戏结束!")

                break

            # 计算机取火柴

            computer = 5 - ren

            huocai = huocai - computer

            print("计算机取火柴:%d" %computer)

            # 计算机取后,剩余的火柴数为0,则人获胜,跳出循环

            if huocai == 0:

                print("人获胜,游戏结束!")

                break

    ########################

    执行结果如下:

    --------你不能战胜我,不信试试--------

    开始游戏:

    --------目前还有火柴 21 根--------

    人取火柴:4

    计算机取火柴:1

    --------目前还有火柴 16 根--------

    人取火柴:1

    计算机取火柴:4

    --------目前还有火柴 11 根--------

    人取火柴:4

    计算机取火柴:1

    --------目前还有火柴 6 根--------

    人取火柴:3

    计算机取火柴:2

    --------目前还有火柴 1 根--------

    人取火柴:1

    计算机获胜,游戏结束!

    ________________END______________

    相关文章

      网友评论

        本文标题:自学Python:无法打败的机器人游戏

        本文链接:https://www.haomeiwen.com/subject/kelrcrtx.html