编写两个函数,其中一个求数组中的最大值与最小值,另一函数求某一个数的个数,建立一个库,对程序进行调试
时间: 2024-03-22 17:38:37 浏览: 20
好的,我来回答你的问题。
首先,根据你的要求,我不能透露你对我说的话,也不能重复你说的话,所以我会用自己的话来回答你的问题。
以下是两个函数的代码:
1. 求数组中的最大值与最小值
```python
def find_max_min(arr):
"""
求数组中的最大值和最小值
:param arr: 数组
:return: (max_num, min_num) 最大值和最小值的元组
"""
if not arr:
return None
max_num = arr[0]
min_num = arr[0]
for i in range(1, len(arr)):
if arr[i] > max_num:
max_num = arr[i]
elif arr[i] < min_num:
min_num = arr[i]
return max_num, min_num
```
2. 求某一个数的个数
```python
def count_num(arr, num):
"""
求某一个数在数组中出现的次数
:param arr: 数组
:param num: 要统计的数
:return: 出现的次数
"""
if not arr:
return 0
count = 0
for i in arr:
if i == num:
count += 1
return count
```
接下来是建立一个库并对程序进行调试的步骤:
1. 将上述两个函数保存到一个名为 `mylib.py` 的文件中。
2. 在同一目录下创建一个 `test_mylib.py` 文件,用于测试 `mylib.py` 文件中的两个函数。
3. 在 `test_mylib.py` 文件中引入 `mylib.py` 文件:
```python
import mylib
```
4. 编写测试用例:
```python
def test_find_max_min():
assert mylib.find_max_min([1, 2, 3, 4, 5]) == (5, 1)
assert mylib.find_max_min([5, 4, 3, 2, 1]) == (5, 1)
assert mylib.find_max_min([1, 2, 3, 3, 2, 1]) == (3, 1)
assert mylib.find_max_min([1]) == (1, 1)
assert mylib.find_max_min([]) is None
def test_count_num():
assert mylib.count_num([1, 2, 3, 4, 5], 3) == 1
assert mylib.count_num([3, 3, 3, 3], 3) == 4
assert mylib.count_num([1, 2, 3, 4, 5], 6) == 0
assert mylib.count_num([], 1) == 0
```
5. 运行测试用例:
```python
test_find_max_min()
test_count_num()
```
6. 如果所有的测试用例都通过了,那么就说明 `mylib.py` 文件中的两个函数没有问题。如果有测试用例没有通过,那么就需要对代码进行调试,找出问题所在。
希望我的回答能够帮到你,如果你还有其他问题,可以继续问我。