通过Python,以初学者的角度编写下列内容:输入一字符串,各个子串之间按空白字符隔开,分别显式其中最长、最短子串,以及最大、最小字符。并且最小字符不能为空白字符
时间: 2023-05-30 13:05:28 浏览: 100
初学者Python
首先,我们需要获取用户输入的字符串:
```python
s = input("请输入一个字符串:")
```
然后,我们可以将字符串按空白字符分割成一个列表:
```python
lst = s.split()
```
接下来,我们可以使用循环遍历列表中的每个子串,并记录最长、最短子串以及最大、最小字符:
```python
max_len = 0 # 最长子串的长度
min_len = float("inf") # 最短子串的长度,初始值设置为正无穷
max_char = "" # 最大字符
min_char = chr(127) # 最小字符,初始值设置为 ASCII 码最大的字符
for sub in lst:
# 记录最长子串
if len(sub) > max_len:
max_len = len(sub)
max_sub = sub
# 记录最短子串
if len(sub) < min_len:
min_len = len(sub)
min_sub = sub
# 记录最大字符
for char in sub:
if char > max_char:
max_char = char
# 记录最小字符,要求非空白字符
for char in sub:
if char < min_char and not char.isspace():
min_char = char
```
最后,我们可以将结果输出:
```python
print("最长子串:", max_sub)
print("最短子串:", min_sub)
print("最大字符:", max_char)
print("最小字符:", min_char)
```
完整代码如下:
```python
s = input("请输入一个字符串:")
lst = s.split()
max_len = 0 # 最长子串的长度
min_len = float("inf") # 最短子串的长度,初始值设置为正无穷
max_char = "" # 最大字符
min_char = chr(127) # 最小字符,初始值设置为 ASCII 码最大的字符
for sub in lst:
# 记录最长子串
if len(sub) > max_len:
max_len = len(sub)
max_sub = sub
# 记录最短子串
if len(sub) < min_len:
min_len = len(sub)
min_sub = sub
# 记录最大字符
for char in sub:
if char > max_char:
max_char = char
# 记录最小字符,要求非空白字符
for char in sub:
if char < min_char and not char.isspace():
min_char = char
print("最长子串:", max_sub)
print("最短子串:", min_sub)
print("最大字符:", max_char)
print("最小字符:", min_char)
```
阅读全文