Specification: Read in characters until the user enters a full stop '.'. Show the number of lowercase vowels.
So far, I've succeeded in completing the read loop and printing out 'Vowel Count: '. However, vowel count always comes to 0. I've just started. I'm struggling with placement for 'Show the number of lowercase vowels' Should I define vowels = ... at the top? Or put it in a loop later? Do I create a new loop? I haven't been able to make it work. Thanks
c = str(input('Character: '))
count = 0
while c != '.':
count = 1
c = str(input('Character: '))
print("Vowel count =", count)
CodePudding user response:
Here is the solution of your problem. You should add 2 conditions in your code. You check If the character is vowel and if is lowercase:
c = str(input('Character: '))
count = 0
while c != '.':
if c in 'aeyio' and c.islower():
count = 1
c = str(input('Character: '))
print("Vowel count =", count)
CodePudding user response:
Lowercase Vowels correspond to a set of numbers in the ascii table, same case applies to the '.'
c = str(input('Character: '))
count = 0
lowerCaseVowel=[97,101,105,111,117]
for _ in c:
## check for .
if ord(_) ==46:
break
if ord(_) in lowerCaseVowel:
count =1
print("Vowel count =", count)
CodePudding user response:
- In
whileLoop you can addifcondition to check if letter is in lower case using string methodislower()and is letter is vowel. if both condition satisfy then increase count by 1. - You don't have to convert input string into
strtype since input string is always in string type. - Also, outside while loop you can declare variable as empty string.
c =''
count = 0
while c != '.':
c = input('Character: ')
if c.islower() and c in ('a','e','i','o','u'):
count = 1
print("Vowel count =", count)
