漂亮打印,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()
运行结果如下,还是挺好玩的,哈哈。