<p>你的密码很接近。见以下评论:</p>
<pre><code>termz = {
'does not exceed': 0,
'shall not exceed': 0,
'not exceeding': 0,
'do not exceed': 0,
'not to exceed': 0,
'shall at no time exceed': 0,
'shall not be less than': 0,
'not less than': 0
}
with open('Q:/hello/place/textfile.txt', 'r') as f:
sections = f.read().split('**************************************************')
# Skip the first section. (I assume this is on purpose?)
for p in sections[1:]:
for eachKey in termz:
if eachKey in p:
# This is simpler than termz[eachKey] = termz.get(eachKey) + 1
termz[eachKey] += 1
# Move this outside of the inner loop
print(termz)
# After printing the results for that section, reset the counts
termz = dict.fromkeys(termz, 0)
</code></pre>
<p><strong>编辑</p>
<p>输入和输出示例:</p>
<pre><code>input = '''
Section 1:
This section is ignored.
does not exceed
**************************************************
Section 2:
shall not exceed
not to exceed
**************************************************
Section 3:
not less than'''
termz = {
'does not exceed': 0,
'shall not exceed': 0,
'not exceeding': 0,
'do not exceed': 0,
'not to exceed': 0,
'shall at no time exceed': 0,
'shall not be less than': 0,
'not less than': 0
}
sections = input.split('**************************************************')
# Skip the first section. (I assume this is on purpose?)
for p in sections[1:]:
for eachKey in termz:
if eachKey in p:
# This is simpler than termz[eachKey] = termz.get(eachKey) + 1
termz[eachKey] += 1
# Move this outside of the inner loop
print(termz)
# After printing the results for that section, reset the counts
termz = dict.fromkeys(termz, 0)
# OUTPUT:
# {'not exceeding': 0, 'shall not exceed': 1, 'not less than': 0, 'shall not be less than': 0, 'shall at no time exceed': 0, 'not to exceed': 1, 'do not exceed': 0, 'does not exceed': 0}
# {'not exceeding': 0, 'shall not exceed': 0, 'not less than': 1, 'shall not be less than': 0, 'shall at no time exceed': 0, 'not to exceed': 0, 'do not exceed': 0, 'does not exceed': 0}
</code></pre>