Words Score

Sort by

recency

|

164 Discussions

|

  • + 0 comments

    import re

    def score_words(words): pattern = re.compile(r'[aeiouy]') sum1=0 for i in words.split(): if len(pattern.findall(i))%2==0: sum1 +=2 else: sum1 +=1 return(sum1) if name == "main": n = int(input()) word = input() print(score_words(word))

  • + 0 comments

    Here is HackerRank Words Score in Python solution - https://programmingoneonone.com/hackerrank-words-score-problem-solution-in-python.html

  • + 1 comment
    i, words = input(), input()
    
    def score_words(words):
        vowels=["a","e","i","o","u","y"]
        words = words.split()
        score = 0
        for word in words:
            vowelcount = 0
            for char in word:
                if char in vowels:
                    vowelcount +=1
            if vowelcount % 2 == 0:
                score += 2
            else:
                score += 1 
        print(score)
    
    score_words(words)
    
  • + 0 comments

    Just the ++score has to be converted into score += 1. Rest of the code stays as it is.

    def is_vowel(letter):
        return letter in ['a', 'e', 'i', 'o', 'u', 'y']
    
    def score_words(words):
        score = 0
        for word in words:
            num_vowels = 0
            for letter in word:
                if is_vowel(letter):
                    num_vowels += 1
            if num_vowels % 2 == 0:
                score += 2
            else:
                score += 1
        return score
    
    
    n = int(input())
    words = input().split()
    print(score_words(words))
    
  • + 1 comment

    With the use of regex and list comprehension -->

    text = sys.stdin.read().splitlines()[1].split(' ')
    vowels = 'aeiouy'
    score = 0
    
    for word in text:
        if len(re.findall(rf"[{vowels}]", word, flags=re.I))%2 == 0:
            score += 2
            continue
        score +=1
    
    print(score)