如何在不修改原始字符串的情况下将 .islower() 用于 if 语句

我得到了一个包含字符串“Hello”的变量 x。我用 .islower() 检查它是否小写,我尝试使用 .islower(真或假)的输出使字符串全部小写,如果不是。


问题是:最初 x 包含字符串“Hello”,但在使用 .islower() 检查之后,Hello 丢失了,x 现在包含“True”或“False”。我不希望 x 的原始内容丢失。


Print(x) 打印 False 而不是“hello”


x = "Hello".islower()

print(f'x is {x}')

if x == False:

        #return x.lower()

    print("its not all lower case")

    print(x)

我想到了这个解决方案:


我有包含字符串“Hello”的变量 x。我将变量 X 的内容复制到变量 Y 中。变量 x 将保留原始数据(字符串),变量 y 将仅用于检查它是否为小写,并使用 if 语句以小写形式打印 y如果不是。


#!/usr/bin/env python3


x = "Hello"

x = y

y.islower()

print(f'x is {x}')

if y == False:

    print("¨its not all lower case")

    print(x).lower()

else:

    print(x)

问题是这不起作用:


x = y 

我试图测试它并且 y 不打印“你好”


x = "Hello"

y = x

print(y)


NameError: name 'y' is not defined

我也怀疑这是否有效:


y.islower()

我有印象你只能使用 .islower()


什么是干净和正确的方法呢?


慕容3067478
浏览 173回答 2
2回答

森栏

如果您的目标是将字符串转换为小写,请.lower()无条件使用。如果您想根据字符串是否为小写做其他事情,请尝试以下操作:if x.islower():    print("lowercase")else:    print("uppercase")    x = x.lower()

阿波罗的战车

问题已解决,感谢大家的回答,这是一个很大的帮助:正如 Martijn Pieters 指出的那样,x = y 不起作用。但不是这样做,可以简单地这样做:y=(x.islower())因为我们只希望 y 包含问题的答案是否 x 是小写我见过这样写的例子,print(x).lower()但它似乎不起作用。print(x.lower())答案是不是这段代码是有效的,所以不管它是否会以小写形式打印。它将检测它是否不是并更正它,或者如果它全部以小写字母书写,则简单地将其打印出来。    #!/usr/bin/env python3    x = "Hello"    y=(x.islower())    print(f"x is {x}")    if y == False:        print("its not all lower case")        print(x.lower())    else:        print(x)这是已解决代码的另一个示例:#!/usr/bin/env python3x = input("Please enter a word:  ")y=(x.islower())print(f"Your word is {x}")if y == False:    print("Your word is not all in lower case, lett me correct it for you")    print(x.lower())else:     print(x)这也是一种选择。谢谢所罗门:#!/usr/bin/env python3x = input("Please enter a word:  ")print(f"Your word is {x}")if x.islower():    print("x is all low")else:    print("Your word is not all in lower case, lett me correct it for you")    print(x.lower())    x = x.lower()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python