• Python学习笔记函数之建模


    随笔记录方便自己和同路人查阅。

    #------------------------------------------------我是可耻的分割线-------------------------------------------

      在有因特网之前,人们也有办法与世界另一边的某人下一盘国际象棋。每个棋手在自己家里放好一个棋盘,然后

    轮流向对方寄出明信片,描述每一着棋。要做到这一点,棋手需要一种方法,无二义地描述棋盘的状态,以及他们的想法。

      我们使用一个,比国际象棋简单一点的游戏:井字棋,来描述建模。井字棋盘看起来想一个大的井字符号(#),

    有9个空格,可以包含X、O或空。要用字典表示棋盘,可以为每个空格分配一个字符串键,如图所示:

      可以用字符串值来表示,棋盘上每个空格有什么:'X'、'O'或''(空格字符)。因此,需要存储9个字符串。

    可以用一个字典来做这事,带有top-R的字符串表示右上角,带有top-L的字符串表示左下角,带有键mid-Mde

    的字符串表示中间,以此类推。

      这个字典就是表示井字棋盘的数据结构。将这个字典表示的棋盘保存在名为theBoard的变量中。

    #------------------------------------------------我是可耻的分割线-------------------------------------------

      示例代码

    #
    # -*- coding:utf-8 -*-
    # Autor: Li Rong Yang
    theBoard = {'top-L':'','top-M':'','top-R':'',
                'mid-L':'','mid-M':'','mid-R':'',
                'low-L':'','low-M':'','low-R':''}
    def print_theBoard(theBoard):#对数据进行建模
        print(theBoard['top-L'] + ' | ' +theBoard['top-M'] + '| ' +theBoard['top-R'] )
        print('-+-+-')
        print(theBoard['mid-L'] + ' | ' + theBoard['mid-M'] + '| ' + theBoard['mid-R'])
        print('-+-+-')
        print(theBoard['low-L'] + ' | ' + theBoard['low-M'] + '| ' + theBoard['low-R'])
    turn = 'X'#初始值
    for i in range(9):#循环
        print_theBoard(theBoard)#调用建模
        print('Turn for ' + turn + '. Move on which space?')#提示用户
        move = input()#
        theBoard[move] = turn#对字典进行变更
        if turn == 'X':
            turn = 'O'
        else:
            turn = 'X'
    

      运行结果:

     

  • 相关阅读:
    收藏文章整理
    关于java里的SimpleDateFormat使用
    手写MQ框架(四)-使用netty改造梳理
    JDK8中的ConcurrentHashMap源码
    JDK8中的HashMap源码
    手写MQ框架(三)-客户端实现
    手写MQ框架(二)-服务端实现
    Vue.js入门
    Tomcat启动找不到项目依赖jar的解决方式
    java课堂 动手动脑2
  • 原文地址:https://www.cnblogs.com/lirongyang/p/9544937.html
Copyright © 2020-2023  润新知