语法都错了,冒号呢?
def upper_vowel(sentence):
s=""
for i in sentence:
if i in 'aeiou' or i in 'AEIOU':
s+=i.upper()
else:
s+=i.lower()
return s
print(upper_vowel('Mohammad'))
print(upper_vowel('World cup 2022'))
print(upper_vowel('wOrld cUp 2022'))
代码缩进有问题吧。
sentence要先赋值,再作为参数传递给函数 。使用replace字符串替换函数来做,参考代码:
def upper_vowel(sentence):
for c in sentence:
if c in ['a','e','i','o','u']:
sentence=sentence.replace(c,c.upper())
else:
sentence=sentence.replace(c,c.lower())
return sentence
sentence='World cup 2022'
print(upper_vowel(sentence))
#wOrld cUp 2022
如有帮助,请点采纳按钮。
函数后面的冒号呢
import re
def upper_vowel(sentence):
return(re.sub('(?P<word>[aeiou])', lambda x:x.group('word').upper(), sentence))
def upper_vowel(sentence):
s=0
sentence = sentence.lower()
ls = list(sentence)
for i in ls:
if i =='a' or i =='e' or i =='i' or i =='o' or i =='u':
ls[s]=i.upper()
s+=1
sentence = ''.join(ls)
print(sentence)
sentence = "qFMPFageQdVOh"
upper_vowel(sentence)