[公开]推进北京园林绿化高质量发展科技创新系列专项中标公告
中标评审分析官方公示数据
中标原因深度分析独家解读
003/Python-Project
/Python-Project/Python_Project/04_Python-Project/02_Functions/03_Functions/01_Functions/04_Functions.py
# Python-Project
Python Project
/Python-Project/Python_Project/04_Python-Project/01_Tuples/02_Tuples/01_Tuples.py
from datetime import datetime, timedelta
from typing import Optional
class DateCalculator:
def __init__(self, date: str):
self.date = datetime.strptime(date, "%Y-%m-%d")
def add_days(self, days: int) -> str:
"""Return the date after adding the given number of days."""
return self.date + timedelta(days=days)
def add_weeks(self, weeks: int) -> str:
"""Return the date after adding the given number of weeks."""
return self.date + timedelta(weeks=weeks)
def add_months(self, months: int) -> str:
"""Return the date after adding the given number of months."""
# Convert the date to a datetime object
date = datetime.strptime(self.date, "%Y-%m-%d")
# Calculate the end of the month
end_of_month = date.replace(day=28) + timedelta(days=4) # this will remove the last day of the month
next_month = end_of_month + timedelta(days=2) # this will remove the last day of the next month
# Calculate the number of days in the next month
next_month_days = next_month.day
# Calculate the total number of days in the next month
total_days = 0
for i in range(1, next_month_days + 1):
total_days += i
# Calculate the number of days to add to the date to get the end of the next month
days_to_add = total_days - date.timetuple().tm_mday + 1
# Add the number of days to the date
return date + timedelta(days=days_to_add)
def add_years(self, years: int) -> str:
"""Return the date after adding the given number of years."""
return self.date.replace(year=self.date.year + years)
def main():
date_calculator = DateCalculator("2023-01-01")
print(date_calculator.add_days(10))
print(date_calculator.add_weeks(4))
print(date_calculator.add_months(3))
print(date_calculator.add_years(1))
if __name__ == "__main__":
main()
/Python-Project/Python_Project/04_Python-Project/01_Tuples/01_Tuples/01_Tuples.py
from typing import Optional, Union
def find_max_value(numbers: Optional[Union[list, tuple]], index: Optional[int] = 0) -> Optional[Union[int, float]]:
"""Find the maximum value in a list or tuple of numbers."""
if numbers is None:
return None
elif isinstance(numbers, (list, tuple)):
if index >= len(numbers) or index < 0:
return None
else:
current_max = numbers[index]
for num in numbers:
if num > current_max:
current_max = num
return current_max
else:
return None
def find_min_value(numbers: Optional[Union[list, tuple]], index: Optional[int] = 0) -> Optional[Union[int, float]]:
"""Find the minimum value in a list or tuple of numbers."""
if numbers is None:
return None
elif isinstance(numbers, (list, tuple)):
if index >= len(numbers) or index < 0:
return None
else:
current_min = numbers[index]
for num in numbers:
if num < current_min:
current_min = num
return current_min
else:
return None
if __name__ == '__main__':
# Test the find_max_value and find_min_value functions
numbers = [1, 2, 3, 4, 5]
print(find_max_value(numbers, 2))
print(find_min_value(numbers, 2))
# Test with None as input
print(find_max_value(None, 2))
print(find_min_value(None, 2))
# Test with an empty list or tuple
print(find_max_value([]))
print(find_min_value(()))
# Test with a non-numeric list or tuple
print(find_max_value(["a", "b", "c"]))
print(find_min_value(["a", "b", "c"]))
/Python-Project/Python_Project/04_Python-Project/04_Functions/01_Functions/05_Functions.py
import random
import string
def generate_password(length: int = 8):
"""Generate a random password of a given length."""
if length < 1:
raise ValueError("Length must be at least 1.")
characters = string.ascii_letters + string.digits + string.punctuation
password = ''.join(random.choice(characters) for i in range(length))
return password
def main():
print(generate_password(16))
if __name__ == '__main__':
main()
/Python-Project/Python_Project/04_Python-Project/02_Functions/02_Functions/04_Functions.py
# Python-Project
Python Project
/Python-Project/Python_Project/04_Python-Project/01_Tuples/03_Tuples/03_Tuples.py
import sys
def reverse_string(string
一、项目编号:11000026210200177289-XM001
二、项目名称:推进北京园林绿化高质量发展科技创新系列专项
三、中标(成交)信息
总中标成交金额:535.15 万元(人民币)
中标成交供应商名称、地址及中标成交金额:
中标成交供应商名称:京林风景(北京)规划设计研究院有限公司
中标成交供应商地址:北京市海淀区清华东路35号北林学研中心C栋三层317房间
中标金额:182.6万元
中标成交供应商名称:北京市花木有限公司
中标成交供应商地址:北京市西城区文兴东街2号
中标金额:181.55万元
中标成交供应商名称:中国林业科学研究院华北林业实验中心
中标成交供应商地址: 北京市门头沟水闸西路1号
中标金额:171万元
| 供应商名称 | 供应商地址 | 统一信用代码 | 中标金额 | 中标成交备注信息 |
|---|---|---|---|---|
| 京林风景(北京)规划设计研究院有限公司 | 北京市海淀区清华东路35号北林学研中心C栋三层317房间 | 91110108057328074H | 182.6 万元 | 评审总得分(综合评分法): 91.8 分 |
| 北京市花木有限公司 | 北京市西城区文兴东街2号 | 91110000400708796B | 181.55 万元 | 评审总得分(综合评分法): 92.8 分 |
| 中国林业科学研究院华北林业实验中心 | 北京市门头沟水闸西路1号 | 12100000400013943T | 171 万元 | 评审总得分(综合评分法): 88.06 分 |
四、主要标的信息
| 供应商 | 商品名称 | 规格型号 | 数量 | 单价 | 总价 | 服务要求 |
|---|---|---|---|---|---|---|
| 京林风景(北京)规划设计研究院有限公司 | 1 | 182.6万元 | 182.6万元 | 推进北京园林绿化高质量发展科技创新系列专项(01包):首都花园城市建设关键技术标准研制。 | ||
| 北京市花木有限公司 | 1 | 181.55万元 | 181.55万元 | 推进北京园林绿化高质量发展科技创新系列专项(02包):推进首都城市绿化彩化立体化关键技术研究。 | ||
| 中国林业科学研究院华北林业实验中心 | 1 | 171万元 | 171万元 | 推进北京园林绿化高质量发展科技创新系列专项(03包):推进大美森林建设关键技术研究。 |
(1)项目用途、简要技术要求:详见招标文件。
(2)合同履行日期:自合同签订之日起至2026年12月31日前完成全部工作,并提交最终成果。
五、评审专家(单一来源采购人员)名单:
衣彩洁、王文锦、乔洪英、杜贞星、吴嫣
六、代理服务收费标准及金额:
本项目代理费总金额:6.3812万元(人民币)
本项目代理费收费标准:
参照《招标代理服务收费管理暂行办法》计价格〔2002〕1980号文和发改价格〔2011〕534号按服务类收取,按中标金额差额定率累进法计算,代理服务费的收取以包为单位。
七、公告期限
自本公告发布之日起1个工作日。
八、其它补充事宜
本项目代理服务费的收取以包为单位:01包:21608元;02包:21524元;03包:20680元。
九、凡对本次公告内容提出询问,请按以下方式联系。
1.采购人信息
名 称:北京市园林绿化局机关行政
地址:北京市通州区宋庄南三街211号院2号楼
联系方式:吴老师,010-55535949
2.采购代理机构信息
名 称:北京科技园拍卖招标有限公司
地 址:北京市海淀区万泉庄万柳光大西园6号楼
联系方式:朱小锋、程贤军、丁鑫、陈韬,010-82575131转809、285
3.项目联系方式
项目联系人:朱小锋、程贤军、丁鑫、陈韬
电 话: 010-82575131转809、285
招标文件-03包-推进北京园林绿化高质量发展科技创新系列专项——上传.pdf
数据来源:查看官方原文 | 发布日期:2026-07-01