随机生成一串长度为1000的字符串(包含数字和字母),分别统计字符串中数字、大写字母、小写字母和其他字符的个数,将统计结果写入文件中,然后提取所有的数字序列,并将数字序列、数字序列的均值、最大数和最小数分别写入文件中。
时间: 2024-02-03 12:12:17 浏览: 148
从键盘输入一串字符,分别统计其中的字母(不区分大小写)、数字字符和其他[借鉴].pdf
以下是Python代码实现:
```python
import random
# 生成随机字符串
def generate_string(length):
chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
result = ''
for i in range(length):
result += random.choice(chars)
return result
# 统计字符串中数字、大写字母、小写字母和其他字符的个数
def count_chars(string):
digits = 0
uppercase_letters = 0
lowercase_letters = 0
other_chars = 0
for char in string:
if char.isdigit():
digits += 1
elif char.isupper():
uppercase_letters += 1
elif char.islower():
lowercase_letters += 1
else:
other_chars += 1
return digits, uppercase_letters, lowercase_letters, other_chars
# 将统计结果写入文件
def write_counts_to_file(filename, counts):
with open(filename, 'w') as f:
f.write('Digits: {}\n'.format(counts[0]))
f.write('Uppercase letters: {}\n'.format(counts[1]))
f.write('Lowercase letters: {}\n'.format(counts[2]))
f.write('Other chars: {}\n'.format(counts[3]))
# 提取所有的数字序列
def extract_digits(string):
digits = []
current_digit = ''
for char in string:
if char.isdigit():
current_digit += char
elif current_digit != '':
digits.append(int(current_digit))
current_digit = ''
if current_digit != '':
digits.append(int(current_digit))
return digits
# 将数字序列、数字序列的均值、最大数和最小数分别写入文件
def write_digits_to_file(filename, digits):
with open(filename, 'w') as f:
f.write('Digits: {}\n'.format(digits))
if len(digits) > 0:
f.write('Average: {}\n'.format(sum(digits) / len(digits)))
f.write('Maximum: {}\n'.format(max(digits)))
f.write('Minimum: {}\n'.format(min(digits)))
else:
f.write('Average: 0\n')
f.write('Maximum: 0\n')
f.write('Minimum: 0\n')
# 生成随机字符串
string = generate_string(1000)
print('Random string: {}'.format(string))
# 统计字符串中数字、大写字母、小写字母和其他字符的个数
counts = count_chars(string)
print('Counts:', counts)
# 将统计结果写入文件
write_counts_to_file('counts.txt', counts)
# 提取所有的数字序列
digits = extract_digits(string)
print('Digits:', digits)
# 将数字序列、数字序列的均值、最大数和最小数分别写入文件
write_digits_to_file('digits.txt', digits)
```
其中,`generate_string` 函数用于生成随机字符串,`count_chars` 函数用于统计字符串中数字、大写字母、小写字母和其他字符的个数,`write_counts_to_file` 函数用于将统计结果写入文件,`extract_digits` 函数用于提取所有的数字序列,`write_digits_to_file` 函数用于将数字序列、数字序列的均值、最大数和最小数分别写入文件。
运行代码后,会生成一个随机字符串,并输出统计结果和数字序列,同时将统计结果和数字序列写入文件中。其中,统计结果写入 `counts.txt` 文件中,数字序列及其统计信息写入 `digits.txt` 文件中。
阅读全文