输入一行字符,分别统计其中大写字母、当参数n为水仙花数时该函数返回1,否则返回0.然后写一程序调用该函数求100-999之间的水仙花数。说明:水仙花数是指一个三位数的各位数字的立方和是这个数本身。
时间: 2024-09-08 15:04:06 浏览: 68
要统计输入字符串中的大写字母和小写字母的数量,可以使用编程语言中的标准库函数。以Python为例,可以使用isupper()和islower()方法来判断字符是否为大写或小写,并用count()方法来统计每种类型的字母数量。
接下来,我们定义一个名为is_narcissistic_number的函数,该函数接收一个参数n,并检查n是否为水仙花数。水仙花数是一个三位数,它的每个位上的数字的立方和等于它本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
最后,我们将编写一个程序来调用is_narcissistic_number函数,遍历100到999之间的所有数字,找出所有的水仙花数并打印出来。
以下是相应的Python代码实现:
```python
# 统计字符串中大写字母和小写字母的数量
def count_upper_lower(input_string):
uppercase_count = sum(1 for char in input_string if char.isupper())
lowercase_count = sum(1 for char in input_string if char.islower())
return uppercase_count, lowercase_count
# 检查一个数是否为水仙花数
def is_narcissistic_number(n):
if n < 100 or n > 999:
return 0
digits = [int(d) for d in str(n)]
return 1 if sum(d ** 3 for d in digits) == n else 0
# 使用函数
input_str = input("请输入一行字符:")
uppercase_count, lowercase_count = count_upper_lower(input_str)
print(f"大写字母数量:{uppercase_count}")
print(f"小写字母数量:{lowercase_count}")
# 寻找水仙花数
print("100-999之间的水仙花数有:")
for num in range(100, 1000):
if is_narcissistic_number(num):
print(num)
```
这段代码首先定义了一个统计大小写字母的函数`count_upper_lower`,然后定义了检查水仙花数的函数`is_narcissistic_number`。最后,程序首先提示用户输入一行字符并统计其中的大写和小写字母数量,然后遍历100到999之间的数,找出并打印所有的水仙花数。
阅读全文