[自用,python]字典最后几节,漂亮打印,井字棋实践。

漂亮打印,import pprint 。 pprint会给键排序。

import pprint
def word_cnt(mystring):
    mystring=mystring.lower()
    word_dict={}
    for i in mystring:
        if(i.isalpha()):
            word_dict.setdefault(i,0)
            word_dict[i]+=1
    pprint.pprint(word_dict)

word_cnt("Hello World, This is a test string")

会这样输出:

{'a': 1,
 'd': 1,
 'e': 2,
 'g': 1,
 'h': 2,
 'i': 3,
 'l': 3,
 'n': 1,
 'o': 2,
 'r': 2,
 's': 4,
 't': 4,
 'w': 1}

 适用于字典嵌套列表或字典。

把漂亮打印处理过的字符串保存,使用pprint.pformat()。

import pprint
def word_cnt(mystring):
    mystring=mystring.lower()
    word_dict={}
    for i in mystring:
        if(i.isalpha()):
            word_dict.setdefault(i,0)
            word_dict[i]+=1
    word_dict=pprint.pformat(word_dict)
    return word_dict

print(word_cnt("this is a test, hello world."))

也会得到以上结果,即word_cnt已经被漂亮打印处理。

建模,使用字典构建:井字棋

井字棋9个位置分别对应一个键值对。其实也可以使用列表。

用列表应该更方便,所以不做了,用列表做

def chess():
    board=[[' ',' ',' '],[' ',' ',' '],[' ',' ',' ']]
    for i in range(0,9):
        a,b=input("请输入坐标:").split()
        color=input("请输入"+a+','+b+"的颜色(x/y):")
        board[int(a)-1][int(b)-1]=color
        for i in range(0,3):
            for j in range(0,3):
                print('|'+str(board[i][j]),end="")
            print('|')

chess()

 运行结果如下,还是挺好玩的,哈哈。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值