输入一个由英文单词组成的字符串,用空格作为分隔符,将每个单词的长度计算出来并形成一个新列表,并统计所有单词的平均长度,平均长度四舍五入取整。用python实现
时间: 2023-09-17 12:05:43 浏览: 364
python 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数 (示例)
5星 · 资源好评率100%
### 回答1:
好的,我可以帮你实现这个功能。以下是Python代码:
```python
# 输入字符串
input_str = input("请输入一个由英文单词组成的字符串,用空格作为分隔符:")
# 划分单词
word_list = input_str.split()
# 计算每个单词的长度并形成新列表
length_list = [len(word) for word in word_list]
# 统计所有单词的平均长度
average_length = round(sum(length_list) / len(length_list))
# 打印结果
print("每个单词的长度为:", length_list)
print("所有单词的平均长度为:", average_length)
```
当你运行这个代码并输入一个字符串时,它会输出每个单词的长度和所有单词的平均长度。如果你需要对输入进行更严格的检查,比如判断输入是否只包含英文单词并且不含其他字符,则可以使用正则表达式进行检查。
### 回答2:
可以使用split()方法将输入的字符串按空格分割成单词列表,再使用列表推导式计算每个单词的长度,并将结果保存在新列表中。最后,可以使用sum()函数求出所有单词长度的总和,并除以单词数量得到平均长度,然后使用round()函数四舍五入取整。以下是用Python实现的示例代码:
```python
def calculate_average_length(words):
word_list = words.split()
length_list = [len(word) for word in word_list]
average_length = round(sum(length_list) / len(length_list))
return average_length, length_list
input_string = input("请输入由英文单词组成的字符串:")
average_length, length_list = calculate_average_length(input_string)
print("每个单词的长度列表为:", length_list)
print("所有单词的平均长度为:", average_length)
```
测试示例:
输入:This is a test sentence
输出:
每个单词的长度列表为: [4, 2, 1, 4, 8]
所有单词的平均长度为: 4
### 回答3:
可以使用Python中的字符串分割和遍历来实现该功能。具体实现步骤如下:
1. 首先,定义一个函数,命名为calculate_word_length(str),接受一个字符串作为参数。
2. 在函数中,使用split()函数对输入的字符串进行分割,以空格作为分隔符,将每个单词分离出来,并形成一个列表words。
3. 初始化一个变量total_length,用于累加所有单词的长度。
4. 使用for循环遍历words列表,计算每个单词的长度,并将其添加到一个新的列表lengths中。
5. 使用len()函数获取lengths列表的长度,即表示单词的个数。
6. 计算所有单词长度的总和,并将其赋值给total_length变量。
7. 计算平均长度,使用round()函数将其四舍五入取整。
8. 返回lengths列表和计算得到的平均长度。
以下是完整的函数实现:
```python
def calculate_word_length(str):
words = str.split()
lengths = []
total_length = 0
for word in words:
length = len(word)
lengths.append(length)
total_length += length
average_length = round(total_length / len(lengths))
return lengths, average_length
```
你可以通过调用该函数,传入一个英文单词组成的字符串,来测试函数的功能。例如:
```python
sentence = "I love coding in Python"
word_lengths, average_length = calculate_word_length(sentence)
print("每个单词的长度列表:", word_lengths)
print("所有单词的平均长度:", average_length)
```
输出结果为:
```
每个单词的长度列表: [1, 4, 6, 2, 6]
所有单词的平均长度: 4
```
以上代码将会给出输入字符串中单词的长度列表以及所有单词的平均长度。
阅读全文