33 lines
793 B
Python
33 lines
793 B
Python
|
def normalize(x):
|
||
|
noise = ".,;-"
|
||
|
for y in noise:
|
||
|
if x.endswith(y):
|
||
|
return normalize(x[0:-1])
|
||
|
if x.startswith(y):
|
||
|
return normalize(x[1:])
|
||
|
return x.lower()
|
||
|
|
||
|
def word_cloud(xs):
|
||
|
result = dict()
|
||
|
|
||
|
for x in xs.split(' '):
|
||
|
k = normalize(x)
|
||
|
if k in result:
|
||
|
result[k] += 1
|
||
|
else:
|
||
|
result[k] = 1
|
||
|
|
||
|
return result
|
||
|
|
||
|
result = word_cloud("This is just the beginning. The UK will lockdown again.")
|
||
|
assert result.get('this') == 1
|
||
|
assert result.get('is') == 1
|
||
|
assert result.get('just') == 1
|
||
|
assert result.get('the') == 2
|
||
|
assert result.get('beginning') == 1
|
||
|
assert result.get('uk') == 1
|
||
|
assert result.get('will') == 1
|
||
|
assert result.get('lockdown') == 1
|
||
|
assert result.get('again') == 1
|
||
|
print("Success!")
|