Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 大写问题,str对象没有属性';isUpperCase';_Python_String - Fatal编程技术网

Python 大写问题,str对象没有属性';isUpperCase';

Python 大写问题,str对象没有属性';isUpperCase';,python,string,Python,String,我希望程序将字符串对象的字符从小写改为大写,反之亦然 如果我输入jOHN,它就会返回jOHN 在这里,我给您留下代码: nombre=input('Write the wrong name here: ') nuevonombre='' contador=0 while contador <= len(nombre): if nombre[contador].isUpperCase == true: nombre[contador].lower() els

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

如果我输入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)
也许我不应该用。大写,如果不是,我该怎么办?
谢谢。

您应该使用
isupper()
方法

if nombre[contador].isupper():

您应该使用
isupper()
方法

if nombre[contador].isupper():

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

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

def fix_str(s:str)->str:
返回s[0].upper()+s[0:].lower()
>>>菲克斯街(“约翰”)
“约翰”

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

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

def fix_str(s:str)->str:
返回s[0].upper()+s[0:].lower()
>>>菲克斯街(“约翰”)
“约翰”

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

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
将其转换回字符串。

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

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
将其转换回字符串。

尝试使用isupper()。试试isupper()。OP希望将大小写更改为所有字符,而不仅仅是第一个字符应为大写。OP希望将大小写更改为所有字符,而不仅仅是第一个字符应为大写。我已经更改了大小写,但仍然给出相同的错误:if nombre[contador].isupper()索引器:字符串索引超出了range@cristianoronaldo这与原始问题中提到的错误不同,我已经更改了它,但仍然给出了相同的错误:if nombre[contador].isupper()索引器:字符串索引超出了range@cristianoronaldo这与原问题中提到的错误不同