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

Python技术问询:如何正确判断列表中字母是否大写并统计数量

问题解决:统计列表中大写字母数量

首先,你的代码存在几个关键问题,修正后的完整可运行代码如下:

#  Write a Python function to count how many letters in a string are in uppercase.

print("Hey, do you wanna see a cool trick I can do? I can count how many letters in a list of letters are uppercase!")
print("Here, I can prove it!")
print("Gimme a list of letters!")

letter = input("Enter a list of letters, seperating each by a comma. (put both uppercase and lowercase!) ")
letter_list = letter.split(",")
print("The list you gave was...")
print(letter_list)
print("And if we seperate those, we get...")
for letter in letter_list:
    print(letter)
    
print("Now, I'm going to count how many of those are uppercase!")

# 初始化计数变量
capital = 0
for letter in letter_list:
    # 去除元素前后空格后,调用isupper()方法判断
    if letter.strip().isupper():
        capital += 1

print(f"Total uppercase letters: {capital}")

问题解析:

  • 未初始化计数变量:capital在累加前没有设置初始值,会触发NameError,必须先赋值capital = 0
  • 错误调用字符串方法:isupper是字符串的内置方法,必须通过括号()调用,直接写letter.isupper只是引用方法对象,永远不会等于True,正确写法是letter.isupper()
  • 未处理输入空格:用户输入时可能在逗号后加空格(比如A, b, C),split后的元素会包含空格,导致isupper()返回False,用letter.strip()可以去除元素前后的空白字符,确保判断准确

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 00:55:13