编程求列表s=[9,7,8,3,2,1,55,6]中的元素个数、最大值、最小值、元素之和、平均值。要求:不能使用max(x) , min(x) , sum(x)这几个函数。分别用for和while实现
时间: 2024-10-27 22:14:50 浏览: 20
当然可以。首先,我们来看如何使用`for`循环计算元素个数、最大值、最小值、元素之和以及平均值:
```python
s = [9, 7, 8, 3, 2, 1, 55, 6]
# 计算元素个数
element_count = 0
for num in s:
element_count += 1
# 初始化最大值和最小值
max_value = s[0]
min_value = s[0]
# 初始化元素之和
total_sum = 0
# 遍历列表并累加和更新最大值和最小值
for num in s:
total_sum += num
if num > max_value:
max_value = num
if num < min_value:
min_value = num
# 计算平均值
average_value = total_sum / element_count if element_count != 0 else 0
print("元素个数:", element_count)
print("最大值:", max_value)
print("最小值:", min_value)
print("元素之和:", total_sum)
print("平均值:", average_value)
```
现在,我们再来看如何使用`while`循环实现同样的功能,注意在这种情况下我们需要手动维护索引位置:
```python
s = [9, 7, 8, 3, 2, 1, 55, 6]
i = 0
sum = 0
count = 0
max_val = s[0]
min_val = s[0]
while i < len(s):
count += 1
sum += s[i]
if s[i] > max_val:
max_val = s[i]
if s[i] < min_val:
min_val = s[i]
i += 1
if count > 0:
average_value = sum / count
else:
average_value = 0
print("元素个数:", count)
print("最大值:", max_val)
print("最小值:", min_val)
print("元素之和:", sum)
print("平均值:", average_value)
```
这两种方法都能达到预期效果,只是使用了不同的控制流结构。
阅读全文