检查所有字母是大写还是小写python,如果字符串中有一个单词不同则打印none

Check if all letter is uppercase or lowercase python, if there is one word in string is different print none

对于输入字符串 S,如果字符串 S 仅包含大写字符,则打印 UPPER (可能包含空格),LOWER 如果字符串 S 仅包含小写字符(可能包含空格),否则打印出 NONE.

所以这是我的代码

test_str = input()

  
res = "LOWER"
for ele in test_str:
  
    # checking for uppercase character and flagging
    if ele.isupper():
        res = "UPPER"
        break

print(str(res))

但如果一个单词既不是小写也不是大写,则不会 None。我该如何解决?

这里不需要循环。只需在 if-elif 块中使用函数 isupper()islower(),并添加一个 else 块来处理混合大小写(即打印NoneNONE),像这样:

test_str = input()
    
if test_str.isupper():
    print('UPPER')
elif test_str.islower():
    print('LOWER')
else:
    print(None) # or print('NONE')

示例input/output:

HELLO USER
UPPER

HELLO UsER    
None 

hello user  
LOWER

hello User
None 

主动阅读:GeeksForGeeks

@Justin 的回答包含了解如何做你想做的事情所需的关键信息。

对于多样性,这是获取指定问题结果的替代策略(我假设您想要问题中指定的混合大小写字符串 'NONE',而不是 Python None 值)。

a = "ABC DEF"
b = "abc def"
c = "abc deF"
def foo(s):
    return ('NONE', 'UPPER', 'LOWER')[1 * s.isupper() + 2 * s.islower()]
print(foo(a),':',a)
print(foo(b),':',b)
print(foo(c),':',c)

输出:

UPPER : ABC DEF
LOWER : abc def
NONE : abc deF