华为机试-084-简单-HJ84.统计大写字母个数
一、描述
找出给定字符串中大写字符(即’A’-‘Z’)的个数。
数据范围:字符串长度: 1 ≤ ∣s∣ ≤ 250
字符串中可能包含空格或其他字符
进阶:时间复杂度:O(n) ,空间复杂度:O(n)
1.1、输入描述
对于每组样例,输入一行,代表待统计的字符串
1.2、输出描述
输出一个整数,代表字符串中大写字母的个数
二、示例
2.1、示例1
输入:
A 1 0 1 1150175017(&^%&$vabovbaoadd 123#$%#%#O
输出:
2
三、答案(java)
3.1、方法一
package com.tzq.hwod;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
System.out.println(in.nextLine().replaceAll("[^A-Z]", "").length());
}
}
}
四、答案(python 3)
4.1、方法一:用isupper()函数
#!/usr/bin/python
# -*- coding: UTF-8 -*-
while True:
try:
s=input()
res=0
for i in s:
if i.isupper():
res+=1
print(res)
except:
break
4.2、方法二:用字符串的比大小
#!/usr/bin/python
# -*- coding: UTF-8 -*-
while True:
try:
n = input()
result = 0
for i in n:
if i >= 'A' and i <= 'Z':
result += 1
print(result)
except:
break
4.3、方法三:用ord() ASCll表 <91 and ord(i)>64
#!/usr/bin/python
# -*- coding: UTF-8 -*-
while True:
try:
s = input()
n=0
for i in s:
if ord(i)<91 and ord(i)>64:
n=n+1
print(n)
except:
break