zoukankan      html  css  js  c++  java
  • 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'
    

      运行结果:

     

  • 相关阅读:
    NanoProfiler
    NanoProfiler
    Open Source Cassandra Gitbook for Developer
    Android Fragment使用(四) Toolbar使用及Fragment中的Toolbar处理
    Android Fragment使用(三) Activity, Fragment, WebView的状态保存和恢复
    Android Fragment使用(二) 嵌套Fragments (Nested Fragments) 的使用及常见错误
    Android Fragment使用(一) 基础篇 温故知新
    Set up Github Pages with Hexo, migrating from Jekyll
    EventBus源码解析 源码阅读记录
    Android M Permission 运行时权限 学习笔记
  • 原文地址:https://www.cnblogs.com/lirongyang/p/9544937.html
Copyright © 2011-2022 走看看