python编写程序,实现设置价格区间和排序方式的功能
时间: 2024-10-09 13:07:07 浏览: 18
在Python中,你可以通过定义函数结合类来实现一个简单的程序,让用户输入价格区间并选择排序方式。这里我们可以创建一个`PriceManager`类,包含两个属性:`price_range`表示价格区间,`sort_by`表示排序依据。下面是一个基本的例子:
```python
class PriceManager:
def __init__(self):
self.price_range = (0, 1000) # 默认价格范围
self.sort_by = 'ascending' # 默认升序排序
def set_price_range(self, start, end):
"""
设置价格区间
:param start: 区间开始
:param end: 区间结束
"""
if start < end:
self.price_range = (start, end)
else:
print("价格区间无效,请确保开始小于结束。")
def set_sort_order(self, order):
"""
设置排序方式
:param order: 可选值有 'ascending' 或 'descending'
"""
if order in ['ascending', 'descending']:
self.sort_by = order
else:
print("排序方式无效,可选值为 'ascending' 或 'descending'。")
def sort_prices(self, price_list):
"""
根据设置的排序方式进行价格列表排序
:param price_list: 价格列表
"""
sorted_prices = sorted(price_list, key=lambda x: x, reverse=(self.sort_by == 'descending'))
return sorted_prices
# 使用示例
manager = PriceManager()
manager.set_price_range(500, 800)
manager.set_sort_order('descending')
prices = [600, 750, 400, 900]
sorted_prices = manager.sort_prices(prices)
print(f"按照{manager.sort_by}排序后的价格:{sorted_prices}")
```
在这个例子中,用户可以根据需要调用`set_price_range`和`set_sort_order`方法来定制排序规则,然后传入一个价格列表给`sort_prices`方法得到按设定条件排序的结果。
阅读全文