diff options
| author | rir <rirans@comcast.net> | 2024-02-09 21:20:12 -0500 |
|---|---|---|
| committer | rir <rirans@comcast.net> | 2024-02-09 21:20:12 -0500 |
| commit | 138a757205ea1278fec6191eecdfa31b9d4fd3cc (patch) | |
| tree | 08d8157e2f400c51e90e1bc6fcdb34581decb9b9 /challenge-255/spadacciniweb/python/ch-2.py | |
| parent | 844af3cafa518e1f64f5a0729fcc69e1adfcba14 (diff) | |
| parent | 399287fcd1fa2800c9ab44b9a065116e9a55ec86 (diff) | |
| download | perlweeklychallenge-club-138a757205ea1278fec6191eecdfa31b9d4fd3cc.tar.gz perlweeklychallenge-club-138a757205ea1278fec6191eecdfa31b9d4fd3cc.tar.bz2 perlweeklychallenge-club-138a757205ea1278fec6191eecdfa31b9d4fd3cc.zip | |
Merge branch 'master' of https://github.com/manwar/perlweeklychallenge-club
Diffstat (limited to 'challenge-255/spadacciniweb/python/ch-2.py')
| -rw-r--r-- | challenge-255/spadacciniweb/python/ch-2.py | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/challenge-255/spadacciniweb/python/ch-2.py b/challenge-255/spadacciniweb/python/ch-2.py new file mode 100644 index 0000000000..ebcb2aa60b --- /dev/null +++ b/challenge-255/spadacciniweb/python/ch-2.py @@ -0,0 +1,49 @@ +# Task 2: Most Frequent Word +# Submitted by: Mohammad Sajid Anwar +# +# You are given a paragraph $p and a banned word $w. +# Write a script to return the most frequent word that is not banned. +# +# Example 1 +# Input: $p = "Joe hit a ball, the hit ball flew far after it was hit." +# $w = "hit" +# Output: "ball" +# +# The banned word "hit" occurs 3 times. +# The other word "ball" occurs 2 times. +# +# Example 2 +# Input: $p = "Perl and Raku belong to the same family. Perl is the most popular language in the weekly challenge." +# $w = "the" +# Output: "Perl" +# +# The banned word "the" occurs 3 times. +# The other word "Perl" occurs 2 times. + +def count(w, dictionary): + if w in dictionary: + dictionary[w] += 1 + else: + dictionary.update({w: 1}) + +def banned_word(paragraph, banned): + paragraph = filter(lambda x: x.isalnum() or x.isspace(), paragraph) + paragraph = "".join(paragraph) + + dictionary = {} + lst = paragraph.split() + + for w in lst: + if w != banned: + count(w, dictionary) + + print(max(dictionary, key=dictionary.get)) + +if __name__ == "__main__": + paragraph = "Joe hit a ball, the hit ball flew far after it was hit." + banned = "hit" + banned_word(paragraph, banned) + + paragraph = "Perl and Raku belong to the same family. Perl is the most popular language in the weekly challenge." + banned = "the" + banned_word(paragraph, banned) |
