模拟题,读取字符串并按空格切分后,判断每个串的首字母是否为大写即可。
if __name__ == "__main__":
    s = input().strip().split(" ")
    res = 0
    for name in s:
        if name != "" and name[0] in "QWERTYUIOPASDFGHJKLZXCVBNM":
            res += 1
    print(res)
#include<iostream>
#include<vector>
#include<sstream>
#include<string>
using namespace std;
int main(){
    string ss;
    getline(cin,ss);
    istringstream iss(ss);
    string s;
    int res=0;
    while(iss>>s){
        if(s[0]<='Z' && s[0]>='A'){
            res++;
        }
    }
    cout<<res<<endl;
    return 0;
}
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s=sc.nextLine();
        String[] ss = s.split(" ");
        int res=0;
        for(String S: ss){
            if(S.length()==0){
                continue;
            }
            if(S.charAt(0)>='A' && S.charAt(0)<='Z'){
                res++;
            }
        }
        System.out.println(res);
    }
}
         小美写单词喜欢横着写,他记录了若干个人的名字,但是不小心加进去了一些无关的单词。
 一个名字单词以大写字母开头,请你帮助他统计共有多少个人的名字。
第一行输入一个长度为 n(1≤n≤105)、且由大小写字母和空格混合构成的字符串s代表小美的全部单词,每个单词之间使用空格间隔。
除此之外,保证字符串的开头与几位字符不为空格。
在一行输出一个整数,代表人名的个数
输入
ABC abc Abc
输出
2
输入
A A c
输出
2