2019-11-21Python3-setdefault

2019-11-21Python3-setdefault

1. 要求

统计一段话中字母出现的次数

1-1. 错误代码1

message='there is no more thing; should be quit'
count={}
	for character in message:
	count[character]=count[character]+1
print(count)

报错如下

Traceback (most recent call last):
  File "charactercount.py", line 4, in <module>
    count[character]=count[character]+1
KeyError: 't'

key值无效

1-2. print 移到循环内部

message='there is no more thing; should be quit'
count={}
	for character in message:
	count.setdefault(character,0)
	count[character]=count[character]+1
	print(count)

打印结果如下

{'t': 1}
{'t': 1, 'h': 1}
{'t': 1, 'h': 1, 'e': 1}
{'t': 1, 'h': 1, 'e': 1, 'r': 1}
{'t': 1, 'h': 1, 'e': 2, 'r': 1}
{'t': 1, 'h': 1, 'e': 2, 'r': 1, ' ': 1}
{'t': 1, 'h': 1, 'e': 2, 'r': 1, ' ': 1, 'i': 1}
{'t': 1, 'h': 1, 'e': 2, 'r': 1, ' ': 1, 'i': 1, 's': 1}
{'t': 1, 'h': 1, 'e': 2, 'r': 1, ' ': 2, 'i': 1, 's': 1}
{'t': 1, 'h': 1, 'e': 2, 'r': 1, ' ': 2, 'i': 1, 's': 1, 'n': 1}
{'t': 1, 'h': 1, 'e': 2, 'r': 1, ' ': 2, 'i': 1, 's': 1, 'n': 1, 'o': 1}
{'t': 1, 'h': 1, 'e': 2, 'r': 1, ' ': 3, 'i': 1, 's': 1, 'n': 1, 'o': 1}
{'t': 1, 'h': 1, 'e': 2, 'r': 1, ' ': 3, 'i': 1, 's': 1, 'n': 1, 'o': 1, 'm': 1}
{'t': 1, 'h': 1, 'e': 2, 'r': 1, ' ': 3, 'i': 1, 's': 1, 'n': 1, 'o': 2, 'm': 1}
{'t': 1, 'h': 1, 'e': 2, 'r': 2, ' ': 3, 'i': 1, 's': 1, 'n': 1, 'o': 2, 'm': 1}
{'t': 1, 'h': 1, 'e': 3, 'r': 2, ' ': 3, 'i': 1, 's': 1, 'n': 1, 'o': 2, 'm': 1}
{'t': 1, 'h': 1, 'e': 3, 'r': 2, ' ': 4, 'i': 1, 's': 1, 'n': 1, 'o': 2, 'm': 1}
{'t': 2, 'h': 1, 'e': 3, 'r': 2, ' ': 4, 'i': 1, 's': 1, 'n': 1, 'o': 2, 'm': 1}
{'t': 2, 'h': 2, 'e': 3, 'r': 2, ' ': 4, 'i': 1, 's': 1, 'n': 1, 'o': 2, 'm': 1}
{'t': 2, 'h': 2, 'e': 3, 'r': 2, ' ': 4, 'i': 2, 's': 1, 'n': 1, 'o': 2, 'm': 1}
{'t': 2, 'h': 2, 'e': 3, 'r': 2, ' ': 4, 'i': 2, 's': 1, 'n': 2, 'o': 2, 'm': 1}
{'t': 2, 'h': 2, 'e': 3, 'r': 2, ' ': 4, 'i': 2, 's': 1, 'n': 2, 'o': 2, 'm': 1, 'g': 1}
{'t': 2, 'h': 2, 'e': 3, 'r': 2, ' ': 4, 'i': 2, 's': 1, 'n': 2, 'o': 2, 'm': 1, 'g': 1, ';': 1}
{'t': 2, 'h': 2, 'e': 3, 'r': 2, ' ': 4, 'i': 2, 's': 2, 'n': 2, 'o': 2, 'm': 1, 'g': 1, ';': 1}
{'t': 2, 'h': 3, 'e': 3, 'r': 2, ' ': 4, 'i': 2, 's': 2, 'n': 2, 'o': 2, 'm': 1, 'g': 1, ';': 1}
{'t': 2, 'h': 3, 'e': 3, 'r': 2, ' ': 4, 'i': 2, 's': 2, 'n': 2, 'o': 3, 'm': 1, 'g': 1, ';': 1}
{'t': 2, 'h': 3, 'e': 3, 'r': 2, ' ': 4, 'i': 2, 's': 2, 'n': 2, 'o': 3, 'm': 1, 'g': 1, ';': 1, 'u': 1}
{'t': 2, 'h': 3, 'e': 3, 'r': 2, ' ': 4, 'i': 2, 's': 2, 'n': 2, 'o': 3, 'm': 1, 'g': 1, ';': 1, 'u': 1, 'l': 1}
{'t': 2, 'h': 3, 'e': 3, 'r': 2, ' ': 4, 'i': 2, 's': 2, 'n': 2, 'o': 3, 'm': 1, 'g': 1, ';': 1, 'u': 1, 'l': 1, 'd': 1}
{'t': 2, 'h': 3, 'e': 3, 'r': 2, ' ': 5, 'i': 2, 's': 2, 'n': 2, 'o': 3, 'm': 1, 'g': 1, ';': 1, 'u': 1, 'l': 1, 'd': 1}
{'t': 2, 'h': 3, 'e': 3, 'r': 2, ' ': 5, 'i': 2, 's': 2, 'n': 2, 'o': 3, 'm': 1, 'g': 1, ';': 1, 'u': 1, 'l': 1, 'd': 1, 'b': 1}
{'t': 2, 'h': 3, 'e': 4, 'r': 2, ' ': 5, 'i': 2, 's': 2, 'n': 2, 'o': 3, 'm': 1, 'g': 1, ';': 1, 'u': 1, 'l': 1, 'd': 1, 'b': 1}
{'t': 2, 'h': 3, 'e': 4, 'r': 2, ' ': 6, 'i': 2, 's': 2, 'n': 2, 'o': 3, 'm': 1, 'g': 1, ';': 1, 'u': 1, 'l': 1, 'd': 1, 'b': 1}
{'t': 2, 'h': 3, 'e': 4, 'r': 2, ' ': 6, 'i': 2, 's': 2, 'n': 2, 'o': 3, 'm': 1, 'g': 1, ';': 1, 'u': 1, 'l': 1, 'd': 1, 'b': 1, 'q': 1}
{'t': 2, 'h': 3, 'e': 4, 'r': 2, ' ': 6, 'i': 2, 's': 2, 'n': 2, 'o': 3, 'm': 1, 'g': 1, ';': 1, 'u': 2, 'l': 1, 'd': 1, 'b': 1, 'q': 1}
{'t': 2, 'h': 3, 'e': 4, 'r': 2, ' ': 6, 'i': 3, 's': 2, 'n': 2, 'o': 3, 'm': 1, 'g': 1, ';': 1, 'u': 2, 'l': 1, 'd': 1, 'b': 1, 'q': 1}
{'t': 3, 'h': 3, 'e': 4, 'r': 2, ' ': 6, 'i': 3, 's': 2, 'n': 2, 'o': 3, 'm': 1, 'g': 1, ';': 1, 'u': 2, 'l': 1, 'd': 1, 'b': 1, 'q': 1}

每次内循环,就会打印一次

2. setdefault放到循环外

message='there is no more thing; should be quit'
count={}
count.setdefault(character,0)
	for character in message:
	count[character]=count[character]+1
	print(count)

报错如下

Traceback (most recent call last):
  File "charactercount.py", line 3, in <module>
    count.setdefault(character,0)
NameError: name 'character' is not defined

未定义变量

posted @ 2019-11-23 16:11  余者皆可  阅读(173)  评论(0)    收藏  举报