```python
def find_max_min_positions(numbers):
max_value = numbers
min_value = numbers
max_index = 0
min_index = 0
for i, num in enumerate(numbers):
if num > max_value:
max_value = num
max_index = i
elif num < min_value:
min_value = num
min_index = i
return max_value, max_index, min_value, min_index
def main():
numbers = []
print("请输入10个整数,用空格隔开:")
input_str = input()
将输入的字符串按空格分割并转换为整数列表
numbers = list(map(int, input_str.strip().split()))
if len(numbers) != 10:
print("错误:请确保输入了10个整数。")
return
max_val, max_idx, min_val, min_idx = find_max_min_positions(numbers)
print(f"最大值:{max_val},是第{max_idx+1}个输入的数。")
print(f"最小值:{min_val},是第{min_idx+1}个输入的数。")
if __name__ == "__main__":
main()
```
代码说明:
输入处理
- 使用 `input()` 函数获取用户输入的字符串,通过 `strip()` 去除首尾空格,再使用 `split()` 按空格分割成列表。
- 使用 `map(int, ...)` 将字符串列表转换为整数列表。
最大值和最小值的查找
- 初始化 `max_value` 和 `min_value` 为列表的第一个元素,`max_index` 和 `min_index` 为0。
- 使用 `enumerate()` 函数遍历列表,比较每个元素与当前最大值、最小值,更新相应的值和索引。
结果输出
- 使用 `print()` 函数输出最大值、最小值及其在输入序列中的位置(索引加1,因为索引从0开始)。
示例运行:
```
请输入10个整数,用空格隔开:
34 7 23 32 5 62 78 0 19 45
最大值:78,是第7个输入的数。
最小值:0,是第8个输入的数。
```
注意事项:
输入时请确保用空格分隔10个整数,否则程序会提示输入错误。
该程序假设输入的数字数量固定为10个,如果需要处理可变数量的输入,可以使用 `while` 循环动态获取输入。