编写程序,接收一个包含数字与大写字母的字符串,作如下处理: 去掉字符串首尾空格 统计大写字母和数字,并分别存入两个列表中 字符串中的中文数字也纳入统计(可考虑选择使用isdecimal(), isdigit(), isnumeric()等函数) 最后按升序输出结果 需检查输入字符串的合法性 输入格式: 从键盘输入一个字符串。 输出格式: 输出排序后的两个列表。
时间: 2024-03-03 18:51:05 浏览: 53
以下是实现以上要求的程序:
```python
def process_string(s):
# 去掉字符串首尾空格
s = s.strip()
# 统计数字和大写字母
digits = []
uppercase_letters = []
for char in s:
if char.isdecimal() or char.isdigit():
digits.append(char)
elif char.isupper():
uppercase_letters.append(char)
# 按升序排序
digits.sort()
uppercase_letters.sort()
# 输出结果
print("数字列表:", digits)
print("大写字母列表:", uppercase_letters)
# 从键盘读入字符串
s = input("请输入一个包含数字与大写字母的字符串:")
# 检查输入字符串的合法性
if not s.isalnum():
print("输入的字符串不合法!")
else:
process_string(s)
```
程序首先从键盘读入一个包含数字与大写字母的字符串,并使用strip()函数去掉字符串首尾空格。然后通过遍历字符串中的每个字符,使用isdecimal()、isdigit()和isupper()函数判断字符是否为数字或大写字母,并将数字和大写字母分别存入两个列表中。最后使用sort()函数按升序排序两个列表,并输出结果。程序还对输入字符串的合法性进行了检查,如果不是包含数字和大写字母的字符串则输出错误信息。
阅读全文