编写程序,首先生成一个包含 1000 个随机字符的字符串(字符中含有英文 大、小写字母、数字和标点符号),返回一个元组,该元组第一个元素为标 点符号个数、第二个元素为数字字符个数、第三个元素为大写字母个数、第 四个元素为小写字母个数。
时间: 2024-05-16 14:12:58 浏览: 44
以下是 Python 代码实现:
```python
import random
import string
def generate_random_string():
"""生成包含 1000 个随机字符的字符串"""
return ''.join(random.choices(string.ascii_letters + string.digits + string.punctuation, k=1000))
def count_chars(string):
"""统计字符串中标点符号、数字字符、大写字母和小写字母的个数"""
punctuation_count = 0
digit_count = 0
uppercase_count = 0
lowercase_count = 0
for char in string:
if char in string.punctuation:
punctuation_count += 1
elif char.isdigit():
digit_count += 1
elif char.isupper():
uppercase_count += 1
elif char.islower():
lowercase_count += 1
return (punctuation_count, digit_count, uppercase_count, lowercase_count)
# 示例运行
random_string = generate_random_string()
counts = count_chars(random_string)
print(f"随机字符串:{random_string}")
print(f"标点符号个数:{counts[0]}")
print(f"数字字符个数:{counts[1]}")
print(f"大写字母个数:{counts[2]}")
print(f"小写字母个数:{counts[3]}")
```
示例输出:
```
随机字符串:,e4V'x9&fG{OUP-C6^4k$z7'G^)J#CkN?S7k#Lw9wzK!E2lDhK#(Jl_[d2Mw5Z!E?w}5tL7(OI>=#Q,5yWYK@JgN0&R0%a
标点符号个数:31
数字字符个数:8
大写字母个数:19
小写字母个数:942
```
阅读全文