python改变单词大小写

img


我的代码是:
def upper_vowel(sentence)
s=0
for i in sentence:
if 'a' in i or 'e' in i or 'e' in i or'u' in i or 'i' in i
res1=i.upper()
else:
sentence[s]=i.lower()
s+=1
报错sentence没定义是什么原因?
print(sentence)

语法都错了,冒号呢?

img


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'))

img

代码缩进有问题吧。

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)

img

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632