Back to Freecodecamp

Challenge 149: vOwElcAsE

curriculum/challenges/english/blocks/daily-coding-challenges-python/69306364df283fcaff2e1ada.md

latest1.6 KB
Original Source

--description--

Given a string, return a new string where all vowels are converted to uppercase and all other alphabetical characters are converted to lowercase.

  • Vowels are "a", "e", "i", "o", and "u" in any case.
  • Non-alphabetical characters should remain unchanged.

--hints--

vowel_case("vowelcase") should return "vOwElcAsE".

js
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(vowel_case("vowelcase"), "vOwElcAsE")`)
}})

vowel_case("coding is fun") should return "cOdIng Is fUn".

js
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(vowel_case("coding is fun"), "cOdIng Is fUn")`)
}})

vowel_case("HELLO, world!") should return "hEllO, wOrld!".

js
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(vowel_case("HELLO, world!"), "hEllO, wOrld!")`)
}})

vowel_case("git cherry-pick") should return "gIt chErry-pIck".

js
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(vowel_case("git cherry-pick"), "gIt chErry-pIck")`)
}})

vowel_case("HEAD~1") should return "hEAd~1".

js
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(vowel_case("HEAD~1"), "hEAd~1")`)
}})

--seed--

--seed-contents--

py
def vowel_case(s):

    return s

--solutions--

py
def vowel_case(s):
    vowels = "aeiouAEIOU"
    result = ""

    for char in s:
        if char in vowels:
            result += char.upper()
        elif char.isalpha():
            result += char.lower()
        else:
            result += char

    return result