> For the complete documentation index, see [llms.txt](https://jasonchang-ccs.gitbook.io/hello-python-tutorial/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://jasonchang-ccs.gitbook.io/hello-python-tutorial/0-5/3.md).

# Dictionary Example

## Dictionary 範例

我們透過範例來學習dictionary的一些實際操作。

## 範例一

```python
import pprint

text = 'Welcome to the LearnPython.org interactive Python tutorial. ' \
       'Whether you are an experienced programmer or not, ' \
       'this website is intended for everyone who wishes to learn the Python programming language. ' \
       'You are welcome to join our group on Facebook for questions, discussions and updates. ' \
       'Just click on the chapter you wish to begin from, and follow the instructions. Good luck!'
       
counts = {}

for char in text:
    counts.setdefault(char, 0)
    counts[char] = counts[char] + 1

pprint.pprint(counts)
```

這個範例的text可以存放任何長度的文章，然後找出每個字元出現的次數，是個有趣的統計，你可以看看哪個英文字母被使用最多次。

另外，這邊也使用了pprint模組，可以將dictionary以比較好閱讀的形式打印出來。

## 範例二

```python
gameBoard = {'top-left': ' ', 'top-mid': ' ', 'top-right': ' ',
             'mid-left': ' ', 'mid-mid': ' ', 'mid-right': ' ',
             'bottom-left': ' ', 'bottom-mid': ' ', 'bottom-right': ' '}

def printBoard(board):
    print('{}|{}|{}'.format(board['top-left'], board['top-mid'], board['top-right']))
    print('-+-+-')
    print('{}|{}|{}'.format(board['mid-left'], board['mid-mid'], board['mid-right']))
    print('-+-+-')
    print('{}|{}|{}'.format(board['bottom-left'], board['bottom-mid'], board['bottom-right']))

for i in range(9):
    if i % 2 == 0:
        print('It is O turn. Please enter which position you wanna put: ')
        pos = input()
        gameBoard[pos] = 'O'
    else:
        print('It is X turn. Please enter which position you wanna put: ')
        pos = input()
        gameBoard[pos] = 'X'
    printBoard(gameBoard)
```

這個範例則是做出了大家熟知的井字遊戲，由O先攻，再換X，可以理解使用dictionary可以為真實世界的很多種狀況建模，是個非常好用的工具。

然而這個範例並沒有做出驗證誰已經勝利的程式，所以大家可以自己來試看看如何檢驗勝利，並且在勝利條件產生時，直接跳出。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://jasonchang-ccs.gitbook.io/hello-python-tutorial/0-5/3.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
