编写生成器函数,接收一个字符串,分别统计大写字母、小写字母、数字、其他字符的个数,并以元组的形式返回结果,含输入输出语句
时间: 2023-12-12 21:51:28 浏览: 53
好的,我可以为你编写这个生成器函数。以下是完整的代码:
```python
def count_chars(string):
upper = 0
lower = 0
digit = 0
other = 0
for char in string:
if char.isupper():
upper += 1
elif char.islower():
lower += 1
elif char.isdigit():
digit += 1
else:
other += 1
return (upper, lower, digit, other)
# 测试代码
input_str = input("请输入一个字符串:")
result_tuple = count_chars(input_str)
print("大写字母数:", result_tuple[0])
print("小写字母数:", result_tuple[1])
print("数字数:", result_tuple[2])
print("其他字符数:", result_tuple[3])
```
这个函数接收一个字符串作为输入,然后使用一个循环遍历字符串中的每个字符。对于每个字符,我们使用 `isupper()`、`islower()` 和 `isdigit()` 方法来判断它属于哪一类字符。如果字符是大写字母,则将 `upper` 计数器加一;如果字符是小写字母,则将 `lower` 计数器加一;如果字符是数字,则将 `digit` 计数器加一;否则,将 `other` 计数器加一。
最后,我们将这四个计数器的值打包成一个元组,并返回这个元组。你可以根据自己的需要对元组中的值进行处理。
在测试代码中,我们首先使用 `input()` 函数获取一个字符串,然后调用 `count_chars()` 函数对这个字符串进行统计。最后,我们使用输出语句打印出每一类字符的个数。
阅读全文