You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python函数问题:符号判断实现及全大写判断函数修复

问题2:判断字符串所有字母是否为大写(含纯符号场景)

你的现有代码问题在于str.isupper()方法的特性:它只有在字符串中至少包含一个大小写敏感的字符,且所有这类字符都是大写时才返回True。纯符号字符串没有大小写敏感字符,所以inp.isupper()会返回False,导致函数返回不符合预期的结果。另外,inp != int这个判断完全多余,因为输入是字符串的话,和int类型比较永远是True,起不到任何过滤作用。

修正方案(两种简洁写法):

方案1:比较字符串与它的大写版本

符号字符在大写转换后不会改变,纯符号字符串和自身的大写版本完全一致;有字母的字符串只有当所有字母都是大写时才会和大写版本相等。

def is_uppercase(inp):
    return inp == inp.upper()

方案2:检查是否不存在小写字母

只要字符串中没有任何小写字母,就满足“所有字母都是大写”的条件(包括没有字母的纯符号场景)。

def is_uppercase(inp):
    return not any(char.islower() for char in inp)

测试验证:

  • is_uppercase("HELLO!") → True
  • is_uppercase("Hello!") → False
  • is_uppercase("#$%") → True
  • is_uppercase("") → True(空字符串可根据需求调整)

内容的提问来源于stack exchange,提问作者rootman0

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 12:10:19