# 练习:定义一个可变参数的函数,要求传入多个数字,该函数实现将这些数字进行排序,使用return将结果以列表的方式返回, # 在参数中 加入一个布尔类型的参数,当参数为False, 表示从小到大排序,参数为True表示从大到小排序。 # 编写程序,实现将产品表.csv中内容读取出来,将水果筛选出来,分别保存到水果.csv中。
时间: 2024-03-27 17:35:26 浏览: 17
好的,我会逐个回答你的问题。
首先,关于可变参数排序函数,可以定义如下:
```python
def sort_nums(*args, reverse=False):
sorted_args = sorted(args, reverse=reverse)
return sorted_args
```
其中,`*args`表示可变参数,可以传入任意多个数字,`reverse`表示是否倒序排序,默认为False,表示从小到大排序。
例如,调用`sort_nums(3, 1, 4, 2)`会返回`[1, 2, 3, 4]`,调用`sort_nums(3, 1, 4, 2, reverse=True)`会返回`[4, 3, 2, 1]`。
接下来,关于从产品表中筛选水果并保存到水果表中,可以使用Python内置的csv模块来实现。代码如下:
```python
import csv
# 定义筛选水果的函数
def filter_fruits(input_file, output_file):
with open(input_file, 'r', encoding='utf-8') as f:
reader = csv.reader(f)
header = next(reader) # 读取表头
# 找到“商品类型”列的索引
type_index = header.index('商品类型')
# 筛选出商品类型为“水果”的行
fruit_rows = []
for row in reader:
if row[type_index] == '水果':
fruit_rows.append(row)
# 将筛选出来的水果写入新的csv文件
with open(output_file, 'w', encoding='utf-8', newline='') as f:
writer = csv.writer(f)
writer.writerow(header) # 写入表头
writer.writerows(fruit_rows) # 写入筛选出的水果行
# 调用筛选水果函数
filter_fruits('产品表.csv', '水果表.csv')
```
此代码会读取名为“产品表.csv”的csv文件,并将其中商品类型为“水果”的行筛选出来,保存到名为“水果表.csv”的新csv文件中。
希望我的回答能够帮到你!