大写有问题,str对象没有“isUpperCase”属性

2024-10-01 02:27:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望程序将字符串对象的字符从小写改为大写,反之亦然

如果我输入jOHN,它就会返回jOHN

在这里,我给您留下代码:

nombre=input('Write the wrong name here: ')

nuevonombre=''
contador=0
while contador <= len(nombre):
    if nombre[contador].isUpperCase == true:
        nombre[contador].lower()
    else:
        nombre[contador].upper()
    nuevonombre = nuevonombre + nombre[contador]
    contador+=1
print(nuevonombre)

但当我运行程序时,终端会出现以下错误:

if nombre[contador].isUpperCase == true:
AttributeError: 'str' object has no attribute 'isUpperCase'

也许我不应该用。大写,如果不是,我该怎么办? 谢谢


Tags: 对象字符串代码程序trueinputif字符
3条回答

使用列表理解的简短解决方案:

input_name = input('Write the wrong name here: ')
res = "".join([x.lower() if x.isupper() else x.upper() for x in list(input_name)])
print(res)

其中list将输入转换为字符列表,join将其转换回字符串

python中没有函数isUpperCase,它被称为'john'.isupper()

使用pythons切片语法和简单的字符串函数可以更简单地解决您的问题:

def fix_str(s: str) -> str:
    return s[0].upper() + s[0:].lower()

>>> fix_str('jOhN')
'John'

您应该使用isupper()方法

if nombre[contador].isupper():

相关问题 更多 >