有数字1.5.7.1.3.9相乘相等

我从2021年6月13号写下第一篇Python的系列专栏算起,陆续更新了二十七篇Python系列文章。在此感谢读者朋友们的支持和阅读,特别感谢一键三连的小伙伴

本专栏起名【Python从入门到精通】,主要分为基础知识和项目实战两个部分,目前基础知识部分已经完全介绍完毕。下一阶段就是写Python项目实战以及爬虫相关的知识点。

为了对前期学习的Python基础知识做一个总结归纳,以帮助读者朋友们更好的学习下一部分的实战知识点,故在此我写下此文,共勉,同进

同时为了方便大家交流学习,我这边还建立了一个Python的学习群。群里都是一群热爱学习的小伙伴,不乏一些牛逼的大佬。大佬带飞,我相信进入群里的小伙伴一定会走的更快,飞的更高。 欢迎扫码进群。

下面就通过一个思维导图,展示本专栏Python基础知识部分的总览图。

本专栏从零基础出发,从环境的搭建到高级知识点的学习,一步步走来,相信各位读者朋友们早已掌握相关的知识点。接下来就做一个详细的回顾。

进入下来页面,PyCharm 有专业版和社区版。其中,专业版需要购买才能使用,而社区版是免费的。社区版对于日常的Python开发完全够用了。所以我们选择PyCharm的社区版进行下载安装。点击如下图所示的按钮进行安装包的下载。

安装包下载好之后,我们双击安装包即可进行安装,安装过程比较简单,基本只需要安装默认的设置每一步点击Next按钮即可,不过当出现下图的窗口时需要设置一下。

设置好之后点击 Next 进入下一步的安装,知道所有的安装都完成。

这里使用只需要注意一点,就是设置解释器,默认的话在Project Interpreter的选择框中是提示的是 No interpreter,即没有选中解释器,所以,我们需要手动添加。
所以需要点击设置按钮设置解释器,这里选择 Add Local 设置本地的解释器。

这里Location是用来设置项目的虚拟环境,具体可以参考

6.6.检索字符串是否以指定字符串结尾(endswith())

endswith()方法用于检索字符串是否以指定字符串结尾,如果是则返回True,反之则返回False。其语法结构是:

此方法各个参数的含义与startswith方法相同,再此就不在赘述了。

6.7.字符串大小写转换(3种)函数及用法

Python中提供了3种方法用于字符串大小写转换

  1. title()方法用于将字符串中每个单词的首字母转成大写,其他字母全部转为小写。转换完成后,此方法会返回转换得到的字符串。如果字符串中没有需要被转换的字符,此方法会将字符串原封不动地返回。其语法结构是str.title()
  2. lower()用于将字符串中的所有大写字母转换成小写字母,转换完成后,该方法会返回新得到的子串。如果字符串中原本就都是小写字母,则该方法会返回原字符串。 其语法结构是str.lower()
  3. upper()用于将字符串中的所有小写字母转换成大写字母,如果转换成功,则返回新字符串;反之,则返回原字符串。其语法结构是:str.upper()
首字母大写 Feige勇敢飞全部小写 feige勇敢飞全部大写 FEIGE勇敢飞

6.8.去除字符串中空格(删除特殊字符)的3种方法

Python中提供了三种方法去除字符串中空格(删除特殊字符)的3种方法,这里的特殊字符,指的是指表符(/t)、回车符(/r),换行符(/n)等。

  1. strip(): 删除字符串前后(左右两侧)的空格或特殊字符
  2. lstrip():删除字符串前面(左边)的空格或特殊字符
  3. rstrip():删除字符串后面(右边)的空格或特殊字符
    Python的str是不可变的,因此这三个方法只是返回字符串前面或者后面空白被删除之后的副本,并不会改变字符串本身
去除前后空格(特殊字符串) 码农飞哥勇敢飞去除左边空格(特殊字符串) 码农飞哥勇敢飞 去除右边空格(特殊字符串) 码农飞哥勇敢飞

最早的字符串编码是ASCll编码,它仅仅对10个数字,26个大小写英文字母以及一些特殊字符进行了编码,ASCII码最多只能表示256个字符,每个字符只需要占用1个字节。为了兼容各国的文字,相继出现了GBK,GB2312,UTF-8编码等,UTF-8是国际通用的编码格式,它包含了全世界所有国家需要用到的字符,其规定英文字符占用1个字节,中文字符占用3个字节。

默认的编码格式是UTF-8,编码和解码的格式要相同,不然会解码失败。

6.9.序列化和反序列化

在实际工作中我们经常要将一个数据对象序列化成字符串,也会将一个字符串反序列化成一个数据对象。Python自带的序列化模块是json模块。

列表作为Python序列类型中的一种,其也是用于存储多个元素的一块内存空间,这些元素按照一定的顺序排列。其数据结构是:

element1~elementn表示列表中的元素,元素的数据格式没有限制,只要是Python支持的数据格式都可以往里面方。同时因为列表支持自动扩容,所以它可变序列,即可以动态的修改列表,即可以修改,新增,删除列表元素。看个爽图吧!

首先介绍的是对列表的操作:包括列表的创建,列表的删除等!其中创建一个列表的方式有两种:
通过[]包裹列表中的元素,每个元素之间通过逗号,分割。元素类型不限并且同一列表中的每个元素的类型可以不相同,但是不建议这样做,因为如果每个元素的数据类型都不同的话则非常不方便对列表进行遍历解析。所以建议一个列表只存同一种类型的元素

通过list(iterable)函数来创建列表,list函数是Python内置的函数。该函数传入的参数必须是可迭代的序列,比如字符串,列表,元组等等,如果iterable传入为空,则会创建一个空的列表。iterable不能只传一个数字。

7.3. 向列表中新增元素

向列表中新增元素的方法有四种,分别是:
第一种: 使用**+运算符将多个列表**连接起来。相当于在第一个列表的末尾添加上另一个列表。其语法格式是listname1+listname2

第二种:使用append()方法添加元素
append()方法用于向列表末尾添加元素,其语法格式是:listname.append(p_object)其中listname表示要添加元素的列表,p_object表示要添加到列表末尾的元素,可以是字符串,数字,也可以是一个序列。举个栗子:

可以看出待添加的元素都成功的添加到了原列表的末尾处。并且当添加的元素是一个序列时,则会将该序列当成一个整体。
extend()方法跟append()方法的用法相同,同样是向列表末尾添加元素。元素的类型只需要Python支持的数据类型即可。不过与append()方法不同的是,当添加的元素是序列

}

我从2021年6月13号写下第一篇Python的系列专栏算起,陆续更新了二十七篇Python系列文章。在此感谢读者朋友们的支持和阅读,特别感谢一键三连的小伙伴

本专栏起名【Python从入门到精通】,主要分为基础知识和项目实战两个部分,目前基础知识部分已经完全介绍完毕。下一阶段就是写Python项目实战以及爬虫相关的知识点。

为了对前期学习的Python基础知识做一个总结归纳,以帮助读者朋友们更好的学习下一部分的实战知识点,故在此我写下此文,共勉,同进

下面就通过一个思维导图,展示本专栏Python基础知识部分的总览图。
本专栏从零基础出发,从环境的搭建到高级知识点的学习,一步步走来,相信各位读者朋友们早已掌握相关的知识点。接下来就做一个详细的回顾。

6.6.检索字符串是否以指定字符串结尾(endswith())

endswith()方法用于检索字符串是否以指定字符串结尾,如果是则返回True,反之则返回False。其语法结构是:

此方法各个参数的含义与startswith方法相同,再此就不在赘述了。

6.7.字符串大小写转换(3种)函数及用法

Python中提供了3种方法用于字符串大小写转换

  1. title()方法用于将字符串中每个单词的首字母转成大写,其他字母全部转为小写。转换完成后,此方法会返回转换得到的字符串。如果字符串中没有需要被转换的字符,此方法会将字符串原封不动地返回。其语法结构是str.title()
  2. lower()用于将字符串中的所有大写字母转换成小写字母,转换完成后,该方法会返回新得到的子串。如果字符串中原本就都是小写字母,则该方法会返回原字符串。 其语法结构是str.lower()
  3. upper()用于将字符串中的所有小写字母转换成大写字母,如果转换成功,则返回新字符串;反之,则返回原字符串。其语法结构是:str.upper()
首字母大写 Feige勇敢飞
全部小写 feige勇敢飞
全部大写 FEIGE勇敢飞

6.8.去除字符串中空格(删除特殊字符)的3种方法

Python中提供了三种方法去除字符串中空格(删除特殊字符)的3种方法,这里的特殊字符,指的是指表符(\t)、回车符(\r),换行符(\n)等。

  1. strip(): 删除字符串前后(左右两侧)的空格或特殊字符
  2. lstrip():删除字符串前面(左边)的空格或特殊字符
  3. rstrip():删除字符串后面(右边)的空格或特殊字符
    Python的str是不可变的,因此这三个方法只是返回字符串前面或者后面空白被删除之后的副本,并不会改变字符串本身
去除前后空格(特殊字符串) 码农飞哥勇敢飞
去除左边空格(特殊字符串) 码农飞哥勇敢飞 
去除右边空格(特殊字符串) 

最早的字符串编码是ASCll编码,它仅仅对10个数字,26个大小写英文字母以及一些特殊字符进行了编码,ASCII码最多只能表示256个字符,每个字符只需要占用1个字节。为了兼容各国的文字,相继出现了GBK,GB2312,UTF-8编码等,UTF-8是国际通用的编码格式,它包含了全世界所有国家需要用到的字符,其规定英文字符占用1个字节,中文字符占用3个字节。

默认的编码格式是UTF-8,编码和解码的格式要相同,不然会解码失败。

6.9.序列化和反序列化

在实际工作中我们经常要将一个数据对象序列化成字符串,也会将一个字符串反序列化成一个数据对象。Python自带的序列化模块是json模块。

列表作为Python序列类型中的一种,其也是用于存储多个元素的一块内存空间,这些元素按照一定的顺序排列。其数据结构是:

element1~elementn表示列表中的元素,元素的数据格式没有限制,只要是Python支持的数据格式都可以往里面方。同时因为列表支持自动扩容,所以它可变序列,即可以动态的修改列表,即可以修改,新增,删除列表元素。看个爽图吧!

首先介绍的是对列表的操作:包括列表的创建,列表的删除等!其中创建一个列表的方式有两种:
通过[]包裹列表中的元素,每个元素之间通过逗号,分割。元素类型不限并且同一列表中的每个元素的类型可以不相同,但是不建议这样做,因为如果每个元素的数据类型都不同的话则非常不方便对列表进行遍历解析。所以建议一个列表只存同一种类型的元素

通过list(iterable)函数来创建列表,list函数是Python内置的函数。该函数传入的参数必须是可迭代的序列,比如字符串,列表,元组等等,如果iterable传入为空,则会创建一个空的列表。iterable不能只传一个数字。

7.3. 向列表中新增元素

向列表中新增元素的方法有四种,分别是:
第一种: 使用**+运算符将多个列表**连接起来。相当于在第一个列表的末尾添加上另一个列表。其语法格式是listname1+listname2

第二种:使用append()方法添加元素
append()方法用于向列表末尾添加元素,其语法格式是:listname.append(p_object)其中listname表示要添加元素的列表,p_object表示要添加到列表末尾的元素,可以是字符串,数字,也可以是一个序列。举个栗子:

可以看出待添加的元素都成功的添加到了原列表的末尾处。并且当添加的元素是一个序列时,则会将该序列当成一个整体。
extend()方法跟append()方法的用法相同,同样是向列表末尾添加元素。元素的类型只需要Python支持的数据类型即可。不过与append()方法不同的是,当添加的元素是序列时,extend()方法不会将列表当成一个整体,而是将每个元素添加到列表末尾。还是上面的那个例子:

从结果看出,当添加字符串时会将字符串中的每个字符作为一个元素添加到列表的末尾处,当添加的列表时会将列表中的每个元素添加到末尾处。
前面介绍的几种插入方法,都只能向列表的末尾处插入元素,如果想在列表指定位置插入元素则无能为力。insert()方法正式用于处理这种问题而来的。其语法结构是listname.insert(index, p_object) 其中index表示指定位置的索引值,insert()会将p_object插入到listname列表第index个元素的位置。与append()方法相同的是,如果待添加的元素的是序列,则insert()会将该序列当成一个整体插入到列表的指定位置处。举个栗子:

7.4. 修改列表中的元素

说完了列表中元素新增的方法,接着让我们来看看修改列表中的元素相关的方法。修改列表元素的方法有两种:
第一种:修改单个元素:
修改单个元素的方法就是对某个索引上的元素进行重新赋值。其语法结构是:listname[index]=newValue,就是将列表listname中索引值为index位置上的元素替换成newValue。

运行结果:['码农飞哥', 'Sarah', '小小伟'] 从结果可以看出索引为1处的元素值被成功修改成了Sarch。
第二种:通过切片语法修改一组元素
通过切片语法可以修改一组元素,其语法结构是:listname[start:end:step],其中,listname表示列表名称,start表示起始位置,end表示结束位置(不包括),step表示步长,如果不指定步长,Python就不要求新赋值的元素个数与原来的元素个数相同,这意味着,该操作可以为列表添加元素,也可以为列表删除元素。举个栗子:

运行结果是:['飞哥', '牛逼', '小伟', '小小伟'] ,从结果可以看出将原列表中索引为0处的元素值已经被替换为飞哥,并且插入了牛逼 这个元素。

7.5. 删除列表中的元素

删除列表中元素的方法共有四种。
第一种:根据索引值删除元素的del关键字
根据索引值删除元素的del关键字有两种形式,一种是删除单个元素,del listname[index],一种是根据切片删除多个元素del listname[start : end],其中,listname表示列表名称,start表示起始索引,end表示结束索引,del会删除从索引start到end之间的元素,但是不包括end位置的元素。还是举个栗子:

可以看出用del删除列表元素时是真实的删除了内存数据的,但是用del删除列表时,则只是删除了变量,name_list2所指向的内存数据还是存在的。
第二种:根据索引值删除元素的pop()方法
根据索引值删除元素的pop()方法的语法结构是:listname.pop(index),其中,listname表示列表名称,index表示索引值,如果不写index参数,默认会删除列表中最后一个元素,类似于数据结构中的出栈操作。举个例子:

第三种:根据元素值进行删除的remove()方法
根据元素值进行删除的remove()方法,其语法结构是:listname.remove(object),其中listname表示列表的名称,object表示待删除的元素名称。需要注意的是:如果元素在列表中不存在则会报ValueError的错误。举个栗子:

运行结果是:['码农飞哥', '小伟', '超人']
第四种:删除列表中的所有元素clear()方法
通过clear()方法可以删除掉列表中的所有元素,其语法结构是:listname.clear(),其中listname表示列表的名称。还是举个栗子吧:

运行结果是:[],可以看出列表中元素被全部清空了。

7.6.列表中元素的查找以及访问

说完了第五浅列表元素的删除,略感疲惫。接着进行第六浅吧!看看列表中元素的查找以及访问。看完这个之后,列表相关的内容也就告一段落了。

访问列表中的元素有两种方式,分别是通过索引定位访问单个元素,通过切片访问多个元素。
第一种:通过索引定位访问单个元素,其语法结构是:listname[index] ,其中listname表示列表的名字,index表示要查找元素的索引值。
第二种:通过切片的方式访问多个元素,其语法结构是:listname[start:end:step]。其中,listname表示列表的名字,start表示开始索引,end表示结束索引(不包括end位置),step表示步长。同样是举个栗子:

查找某个元素在列表中出现的位置 index()

indext()方法用来查找某个元素在列表中出现的位置(也就是索引),如果该元素在列表中不存在,则会报ValueError错误。其语法结构是:listname.index(object, start, end) 其中listname表示列表的名字,object表示要查找的元素,start表示起始索引,end表示结束索引(不包括)。

7.8. Python新增元素中各个方法的区别

前面介绍了使用+运算符,使用append方法,使用extend方法都可以新增元素,那么他们到底有啥区别呢?还是举例说明吧;

从运行结果可以看出如下几点:

  1. 使用+运算符是创建一个新的列表,新列表的地址与原列表的地址不相同,并且原始列表的内容不会改变。
  2. append方法和extend方法都是修改原始列表的内容,并且都没有返回值,所以两者都不能使用链式表达式。
  3. 当待添加的元素是列表时,append方法会将列表当成一个整体,而extend不会。

说完了列表,接着让我们来看看另外一个重要的序列–元组(tuple),和列表类似,元组也是由一系列按特定书序排序的元素组成,与列表最重要的区别是,元组属于不可变序列,即元组一旦被创建,它的元素就不可更改了。

8.2.元组的创建方式


第二种:使用tuple()函数创建
与列表类似的,我们可以通过tuple(iterable)函数来创建元组,如果iterable传入为空,则创建一个空的元组,iterable 参数必须是可迭代的序列,比如字符串,列表,元组等。同样的iterable不能传入一个数字。举个栗子:

由于元组是不可变序列,所以没有修改元素相关的方法,只能对元组中的元素进行查看。查看元素的方式也与列表类似,共两种方式:
第一种:通过索引(index)访问元组中的元素,其语法结构是tuplename[index]
相关参数的描述在此不再赘述了。依然是举例说明:

# 获取索引为1的元素值 #获取索引为1到索引为2之间的元素值,不包括索引2本身

元组中的元素不能修改,不过可以通过 + 来生成一个新的元组。


说完了字典的创建之后,接着就让我们来看看字典的访问。字典不同于列表和元组,字典中的元素不是依次存储在内存区域中的;所以,字典中的元素不能通过索引来访问,只能是通过键来查找对应的值。 ,其有两种不同的写法。

  1. 第一种方式的语法格式是dictname[key] ,其中dictname表示字典的名称,key表示指定的键。如果指定的键不存在的话,则会报KeyError 错误
  2. 第二种方式的语法格式是dictname.get(key),其中dictname表示字典的名称,key表示指定的键。如果指定的键不存在的话,则会返回None。
    举个栗子说明下吧,下面代码的意思是根据键名为name 查找其对应的值。
键不存在的情况返回结果= None

9.3.添加和修改键值对

添加键值对的方法很简单,其语法结构是dictname[key]=value,如果key在字典中不存在的话,则会新增一个键值对。如果key在字典中存在的话,则会更新原来键所对应的值。依然是举例说明下:本例中代码的结果是增加键值对 sex='男',把键height对应的值改成了190


当然修改和删除键值对也可以通过update方法来实现,其具体的语法格式是:dictname.update(dict) ,其中,dictname为字典的名称,dict为要修改的字典的值。该方法既可以新增键值对,也可以修改键值对。 该方法没有返回值,即是在原字典上修改元素的。下面例子中就是将键name的值改成了飞飞1024,键age对应的值改成了25。并新增了键值对

删除键值对的方法有三种:

  1. 第一种是del dictname[key],使用del关键字,其中dictname为字典的名称,key为要删除的键。如果键不存在的话则会报KeyError错误。
  2. 第二种方式是通过pop方法,其语法结构是:dictname.pop(key)。该方法是用于删除指定键值对,没有返回值,如果key不存在的话不会报错。
  3. 第三种方式是通过popitem方法,其语法结构是:dictname.popitem()。该方法用于删除字典中最后一个键值对。举例说明下吧:

可以看出popitem方法删除的键是最后一个键width。

列表推导式的语法格式是

此格式中,[if 条件表达式]不是必须的,可以使用,也可以省略。下面就是输出1~10的列表的乘积的一个例子:

来点复杂的吧,下面就是输出

再来点复杂的,使用多个循环,生成推导式。

上面代码,x是遍历range(5)的迭代变量(计数器),因此该x可迭代5次,y是遍历range(4)的计数器,因此该y可迭代4次。因此,该(x,y)表达式一共迭代了20次。它相当于下面这样一个嵌套表达式。

元组推导式与列表推导式类似,其语法结构是:

此格式中,[if 条件表达式]不是必须的,可以使用,也可以省略。下面就是输出1~10的元组的乘积的一个例子:

从上面的执行结果可以看出,使用元组推导式生成的结果并不是一个元组,而是一个生成器对象。
使用tuple()函数,可以直接将生成器对象转换成元组。例如:

字典推导式的语法结构是:

其中[if 条件表达式]可以使用,也可以省略。举个例子:

通过yield关键字配合循环可以做一个生成器,就像下面这样

这里generate方法返回的就是一个生成器对象generator,因为它内部使用了yield关键字,
调用一次next()方法返回一个生成器中的结果。这就很像单例模式中的懒汉模式,他并并不像饿汉模式一样事先将列表数据生成好。

流程控制有三种结构,一种是顺序结构,一种是选择(分支)结构,一种是循环结构。
顺序结构:就是让程序按照从头到尾的顺序执行代码,不重复执行任何一行代码,也不跳过任何一行代码。一步一个脚印表示的就是这个意思。
选择(分支)结构:就是让程序根据不同的条件执行不同的代码,比如:根据年龄判断某个人是否是成年人。
循环结构: 就是让程序循环执行某一段代码。顺序的流程这里不做介绍了。

只使用if语句是Python中最简单的形式。如果满足条件则执行表达式。则跳过表达式的执行。其伪代码是:

如果if 后面的条件为真则执行代码块。否则则跳过代码的执行。
就是说只使用if的话,则表达式成立的话执行代码块,不成立的话就结束。
下面就是一个简单的例子,如果满足a==1这个条件则打印a,否则跳过该语句。

if else语句是if的变体,如果满足条件的话则执行代码块1,否则则执行代码块2。其伪代码是:

同时使用if和else的话,则表达式成立的话执行一个代码块,表达式不成立的话则执行另一个代码块。

根据输入的年龄判断某人是否是成年人。如果age大于等于18岁,则输出adult,否则输出kid。

if elif else语句针对的就是多个条件判断的情况,如果if条件不满足则执行elif的条件,如果elif的条件也不满足的话,则执行else里面的表达式。其伪代码是:

其中elif可以有多个,但是elif不能单独使用,必须搭配if和else一起使用
需要注意的是if,elif和else后面的代码块一定要缩进,而且缩进量要大于if,elif和else本身,建议的缩进量是4个空格。同一代码中所有语句都要有相同的缩进。 依然是举例说明:

下面就是根据bmi标准来判断一个人是过轻,正常还是肥胖。pass是Python中的关键字,用来让解释器跳过此处,什么都不做。

while是作为循环的一个关键字。其伪代码是:

一定要保证循环条件有变成假的时候,否则这个循环将成为一个死循环,即该循环无法结束。 其流程图是:
如果while中的表达式成立的话则执行循环体,否则的话则直接结束。
举个栗子:计算从1~100的求和,这就是一个经典的运用循环的场景

运行结果是sum= 5050,这个循环的结束条件是n>100,也就是说当n>100是会跳出循环。

在介绍range函数时用到了for关键字,这里介绍一下for关键字的使用。其语法结构是:

for 迭代变量 in 字符串|列表|元组|字典|集合:

字符串,列表,元祖,字典,集合都可以还用for来迭代。其流程图是:

for 循环就是:首先根据in 关键字判断序列中是否有项,如果有的话则取下一项,接着执行循环体。如果没有的话则直接结束循环。

至此Python的基础内容已经全部介绍完了。
干货太多,编辑器都有点卡顿了。
还是那句话,收藏下来迈出了学习的第一步。
B站的小姐姐看一千遍还是别人的,C站的文章看一遍就是自己的了。
干货握在手,妹子跟你走。

}

国道213线达来呼布至东风航天城段公路,已由内蒙古自治区发展和改革委员会以《内蒙古自治区发展和改革委员会关于国道213线达来呼布至东风航天城段公路工程可行性研究报告的批复》(内发改基础字﹝2019363号)文件批准,施工图设计已由内蒙古自治区交通运输厅以《内蒙古自治区交通运输厅关于国道213线达来呼布至东风航天城段公路两阶段施工图设计的批复》(内交发〔2020389号)文件批准。招标人为额济纳旗交通运输局以及额济纳旗龙建达航交通建设有限责任公司,建设资金来自按静态投资的30%申请国家中央车购税、项目公司自筹资本金以及银行贷款。项目已具备招标条件,现对该项目的施工监理进行公开招标。

2、项目概况与招标范围

)”中的公路工程监理资质企业名录,且投标人名称和资质与该名录中的相应企业名称和资质完全一致。(本规定仅适用于《关于发布公路工程从业企业资质名录的通知》(厅公路字〔2011〕114号)文件的要求)。

)”中的公路工程监理资质企业名录,且投标人名称和资质与该名录中的相应企业名称和资质完全一致。(本规定仅适用于《关于发布公路工程从业企业资质名录的通知》(厅公路字〔2011〕114号)文件的要求)。

本次招标关于投标人的资格审查要求详见招标公告及附件。

/)中被列入失信被执行人名单的投标人,不得参加投标。

/)中被列入严重违法失信企业名单的投标人,不得参加投标。

本次招标评标办法:采用双信封形式的“综合评估法”。资格审查方式采用资格后审。本次招标评标办法详见公告附件。

)”,通过“用户登录”使用CA数字证书登录,其中平台选择“建设工程”,角色选择“投标人”,进行网上报名。未办理CA数字证书及电子签章的投标人,请根据阿拉善公共资源交易网《关于办理建设工程、政府采购网上交易信息化平台CA数字证书有关事宜的通知》进行办理,办理成功后方可参与本工程招投标活动。具体的操作流程及投标文件制作详见网站“服务指南-资料下载-建设工程”《建设工程招投标交易平台操作手册——投标人(二期系统)》。

业务咨询电话: 

投标系统技术支持电话:CA数字证书购买咨询电话:CA数字证书客服电话:

内蒙古招标投标公共服务平台(.cn)

内蒙古自治区交通运输厅政务网站(

阿拉善公共资源交易网();

监督机构:阿拉善盟交通运输局

监督机构:额济纳旗建设工程招投标管理办公室

人:额济纳旗交通运输局

人:额济纳旗龙建达航交通建设有限责任公司

招标代理:内蒙古同信工程咨询有限责任公司

附录1  资格审查条件(资质最低要求)

(1)具有国内注册的独立法人资格及有效的企业法人营业执照;(联合体投标的,各方均需满足本项要求)

(2)具有交通运输主管部门颁发的公路工程甲级监理资质和公路工程专业机电工程专项监理资质;(独立投标人需同时具备以上2个资质;联合体投标人可分别具备其中1个资质并组成联合体,且联合体牵头人必须具有交通运输主管部门颁发的公路工程甲级监理资质单位)

(3)自有(投标人名称与试验检测机构名称一致时或投标人与试验检测机构为“具有投资参股关系的关联企业,或具有管理和被管理关系的母子公司,或同一母公司的子公司,或法定代表人为同一个人”关系时,均视为投标人自有)省级及以上交通质量监督机构颁发的公路工程综合类乙级及以上试验检测资质。(联合体投标的,联合体牵头人必须满足本条要求)

(1)具有国内注册的独立法人资格及有效的企业法人营业执照;(2)具有交通运输主管部门颁发的公路工程甲级监理资质;

(3)自有(投标人名称与试验检测机构名称一致时或投标人与试验检测机构为“具有投资参股关系的关联企业,或具有管理和被管理关系的母子公司,或同一母公司的子公司,或法定代表人为同一个人”关系时,均视为投标人自有)省级及以上交通质量监督机构颁发的公路工程综合类乙级及以上试验检测资质。

附录2  资格审查条件(业绩最低要求)

近五年内(20157月1日至投标截止时间,以交工时间为准);①至少独立完成过累计长度不少于100km级及以上公路总监办或驻地办监理任务;②至少独立完成过1项房屋建筑工程监理任务至少独立完成过1项交通安全设施工程的监理任务。④至少独立完成过1项一级及以上公路机电工程的监理任务。⑤至少独立完成过1项桥梁工程的监理任务。(联合体各方业绩可以累加)

5(20157月1日至投标截止时间,以交工时间为准);①至少独立完成过1项长度不少于20km级及以上公路总监办或驻地办监理任务;至少独立完成过1项桥梁工程的监理任务。

5(20157月1日至投标截止时间,以交工时间为准)至少独立完成过1项长度不少于20km级及以上公路总监办或驻地办监理任务

附录3  资格审查条件(信誉最低要求)

投标人不得存在以下规定的情形:

1、投标人在2018年度“公路建设市场全国综合信用评价结果”中被评定为“D”级。(联合体投标的,各方均需满足本项要求)

2、投标人在“内蒙古自治区2018年公路(水运)工程监理企业信用评价”中不得被评定为“D”级。(联合体投标的,各方均需满足本项要求)

 资格审查条件(总监理工程师、驻地监理工程师、试验室主任最低要求)

1、相关专业工程师及以上职称;

2、持有交通运输部颁发的公路工程监理工程师资格证书(专业范围要求具有道路与桥梁专业);

3、年龄60周岁以下;

4、必须在本单位参加社保(以投标人所属社保机构出具的2019年至投标截止时间连续3个月及以上的社保缴费证明或其他能够证明参加社保的有效证明材料为准);

5、至少担任过1个一级及以上公路项目施工监理的总监理工程师或副总监理工程师或驻地监理工程师或副驻地监理工程师职务。

6、联合体投标的,总监理工程师必须属于联合体牵头单位自有人员。

无在岗项目(指目前未在其他项目上任职,或虽在其他项目上任职但本项目中标后能够从该项目撤离)

1、相关专业工程师及以上职称;

2、持有交通运输部安全与质量监督管理司(原交通运输部工程质量监督局、交通运输部基本建设质量监督总站)颁发的公路工程试验检测工程师资格证书和(或)持有交通运输部职业资格中心颁发的公路工程试验检测师职业资格证书(专业范围要求同时具有材料、公路、桥梁(桥梁隧道)3个专业,取得道路专业或道路工程专业的视为同时具有公路及材料2个专业),试验检测工程师资格证书、试验检测师职业资格证书必须在投标人提供的自有试验检测资质单位进行岗位登记;

3、年龄60周岁以下;

4、必须为本单位或投标人提供的自有试验检测资质单位在岗职工;需提供在本单位参加社保(以投标人所属社保机构出具的2019年至投标截止时间连续3个月及以上的社保缴费证明或其他能够证明参加社保的有效证明材料;

5、至少担任过1个级及以上公路项目试验室主任(试验室负责人)职务。

6、联合体投标的,试验室主任必须属于联合体牵头单位自有人员。

无在岗项目(指目前未在其他项目上任职,或虽在其他项目上任职但本项目中标后能够从该项目撤离)

注:1、投标人应自行更新和维护“全国公路建设市场信用信息管理系统”和“省级交通运输主管部门公路建设市场信用信息管理系统”网站的相关信息,如因投标人未能及时更新和维护相关信息导致的一切责任和后果均由投标人自行承担。2.表中人员不得兼职。

附件2:评标办法(综合评估法)

综合评分相等时,评标委员会依次按照以下优先顺序推荐中标候选人或定中标人:

1)评标价低的投标人优先;

2)在2018年度“内蒙古自治区公路施工监理企业信用评价”中信用等级较高的投标人优先

3)第一信封(商务和技术文件)得分较高的投标人优先;

4)建设工程系统平台中投标人签到时间较前的优先。

形式评审与响应性评审标准

第一个信封(商务及技术文件)评审标准:

1)投标文件按照招标文件规定的格式、内容填写,字迹清晰可辨:

a.投标函按招标文件规定填报了项目名称、标段号、补遗书编号(如有)、监理服务期限且填报的监理服务期限与建设工程投标系统中“投标函”中填写的监理服务期限一致)、工程质量要求及安全目标;

b.投标文件组成齐全完整,内容均按规定填写。

c.投标函签署日期在法定代表人身份证明或授权委托书出具日期同日或其之后。

d.按招标文件规定的格式提供了《公共资源交易信用承诺》。

2)投标文件上法定代表人的签字、投标人的单位章盖章齐全,符合招标文件规定。

3)投标人按照招标文件的规定提供了投标保证金:

a.投标保证金金额符合招标文件规定的金额,且投标保证金有效期不少于投标有效期;

b.若投标保证金采用现金或转账形式提交,投标人应在递交投标文件截止时间之前,将投标保证金由投标人的基本账户转入招标人指定账户;

c.若投标保证金采用银行保函形式提交,银行保函的格式、开具保函的银行、银行保函的有效期均满足招标文件要求,且在递交投标文件截止时间之前向招标人提交了银行保函原件。

4投标人法定代表人授权委托代理人交投标文件的,须提交授权委托书,且授权人在授权委托书上电子签名。

5)投标人法定代表人亲自交投标文件的,提供了法定代表人身份证明,且法定代表人在法定代表人身份证明上电子签名。

6)同一投标人未提交两个以上不同的投标文件,但招标文件要求提交备选投标的除外。

7)投标文件中未出现有关投标报价的内容。

8)投标文件载明的招标项目完成期限未超过招标文件规定的时限。

9)投标文件对招标文件的实质性要求和条件作出响应。

10)权利义务符合招标文件规定

a.投标人应接受招标文件规定的风险划分原则,未提出新的风险划分办法;

b.投标人未增加委托人的责任范围,或减少投标人义务;

c.投标人未提出不同的支付办法;

d.投标人对合同纠纷、事故处理办法未提出异议;

e.投标人在投标活动中无欺诈行为;

f.投标人未对合同条款有重要保留。

11)按招标文件规定提交了电子版投标文件。

(12)投标函上填写的标段号与投标文件封面上标记的标段号一致。

(13)投标函上填写的投标人名称与投标文件封面上标记的投标人名称一致。

形式评审与响应性评审标准

第二个信封(报价文件)评审标准:

1)投标文件按照招标文件规定的格式、内容填写,字迹清晰可辨,内容齐全完整:

a.投标函按招标文件规定填报了项目名称、标段号、补遗书编号(如有)、投标价(包括大写金额和小写金额)

b.已标价报价清单说明文字与招标文件规定一致,未进行实质性修改和删减;

c.投标文件组成齐全完整,内容均按规定填写。

d.投标函签署日期在法定代表人身份证明或授权委托书出具日期同日或其之后。

e.投标函大写文字报价、监理服务费报价清单中的投标报价总计和建设工程系统平台“投标函”中填写的报价三者一致。

(2)投标文件上法定代表人的签字、投标人的单位章盖章齐全,符合招标文件规定。

3)投标报价未超过招标文件设定的最高投标限价。

4)投标报价的大写金额能够确定具体数值。

5)同一投标人未提交两个以上不同的投标报价,但招标文件要求提交备选投标的除外。

6)按招标文件规定提交了电子版投标文件。

7)投标函上填写的标段号与投标文件封面上标记的标段号一致。

8)投标函上填写的投标人名称与投标文件封面上标记的投标人名称一致。

1)投标人具备有效的营业执照、监理资质证书和基本账户开户许可证。公路工程试验检测机构资质证书及投标人与试验检测机构为自有关系的证明材料(如有)

2)投标人的资质等级符合招标文件规定。

3)投标人的类似项目业绩符合招标文件规定。

4)投标人的信誉符合招标文件规定。

5)投标人的总监理工程师或驻地监理工程师资格、试验室主任在岗情况符合招标文件规定。

6)投标人的其他要求符合招标文件规定。

7)投标人不存在第二章“投标人须知”第1.4.3项或第1.4.4项规定的任何一种情形。

8)投标人符合第二章“投标人须知”第1.4.5项规定。

第一个信封(商务及技术文件)评分分值构成:

第二个信封(报价文件)评分分值构成:

在开标现场,招标人将当场计算并宣布评标基准价。

1评标价的确定:评标价=建设工程系统中投标函中的报价

2)评标价平均值的计算:(四舍五入保留3位小数

除按第二章“投标人须知”第5.2.4项规定开标现场被宣布为不进入评标基准价计算的投标报价之外,所有投标人的评标价去掉一个最高值和一个最低值后的算术平均值即为评标价平均值(如果参与评标价平均值计算的有效投标人少于5家时,则计算评标价平均值时不去掉最高值和最低值)。

(3)评标基准价的确定:

将评标价平均值直接作为评标基准价。

(4)在评标过程中,评标委员会应对招标人计算的评标基准价进行复核,存在计算错误的应予以修正并在评标报告中作出说明。除此之外,评标基准价在整个评标期间保持不变,不随任何因素发生变化。

评标价的偏差率计算公式

偏差率=100% ×(投标人评标价评标基准价/评标基准价

监理大纲(或监理方案)和措施(20分)

监理项目概述、监理工作范围1.2~2

工程质量监理的内容与方法:1.2~2

a.质量监理方面的独到见解和具体行之有效的措施;

b.质量控制的内容和方法论述;

c.对可能的质量问题所采取的对策和预控方法; 

工程进度监理的内容与管理方法和措施1.2~2

工程计量与支付监理的内容与方法:1.2~2

工程计量与支付监理方面的具体管理方法和措施。工程计量与支付的准确性,避免滥用职权、不合格工程亦支付、重复计量、超前支付、超量支付的措施。

合同管理的内容与方法:1.2~2

对可能出现的各种合同管理问题,提出具体的、行之有效的管理方法及措施,避免重大工程变更、索赔事件的发生,确保发包人的利益不受损害。

组织协调的内容与方法1.2~2

环境保护监理的内容与方法1.2~2

施工安全监理方法和保证措施1.2~2

适用于本项目的具体的旁站监理方案1.2~2

应付突发事件的处理方法和措施1.2~2

本工程重点、难点分析及对策10分

从质量、安全、环保、费用、进度监理五方面对实施过程中的难点进行分析并提出相应对策(每项1.2~2分

投标人根据多年行业管理经验、监理实践,结合本项目的实际情况,就管理模式、工程质量、进度、投资控制等方面(但不限于这些方面)向发包人提出合理的建议,根据合理情况德3~5分

总监理工程师或驻地监理工程师任职资格与业绩15分

满足(总监理工程师或驻地监理工程师、试验室主任最低要求)的,得15分。

试验室主任任职资格与业绩10分

满足(总监理工程师或驻地监理工程师、试验室主任最低要求)的,得10分。

评标价得分计算公式示例:

(1)如果投标人的评标价>评标基准价,则评标价得分=F-偏差率×100×E1

(2)如果投标人的评标价评标基准价,则评标价得分=F+偏差率×100×E2

其中:F是评标价所占的权重分值,E1是评标价每高于评标基准价一个百分点的扣分值,E2是评标价每低于评标基准价一个百分点的扣分值;E1=0.2E2=0.1

满足资格审查条件(业绩最低要求)得25

满足资格审查条件(信誉最低要求)得5分。

本次评标采用综合评估法。评标委员会对满足招标文件实质性要求的投标文件,按照本章第2.2款规定的评分标准进行打分,并按得分由高到低顺序推荐中标候选人,或根据招标人授权直接确定中标人,但投标报价低于其成本的除外。综合评分相等时,评标委员会应按照评标办法前附表规定的优先次序推荐中标候选人或确定中标人。

2.1.1形式评审标准:见评标办法前附表。

2.1.2资格评审标准:见评标办法前附表。

2.1.3响应性评审标准:见评标办法前附表。

2.2分值构成与评分标准

1)技术建议书:见评标办法則附表;

2)主要人员:见评标办法前附表;

3)评标价:见评标办法則附表;

4)其他评分因素:见评标办法前附表。

2.2.2评标基准价计算

评标基准价计算方法:见评标办法前附表。

2.2.3评标价的偏差率计算

评标价的偏差率计算公式:见评标办法則附表。

1)技术建议书评分标准:见评标办法前附表;

2)主要人员评分标准:见评标办法前附表;

3)评标价评分标准:见评标办法則附表;

4)其他因素评分标准:见评标办法前附表。

3.1第一个信封初步评审

3.1.1评标委员会可以要求投标人提交第二章“投标人须知”第15.1项至第3.5.5 项规定的有关证明和证件的原件,以便核验。评标委员会依据本章第2.1款规定的标准对投标文件第一个信封(商务及技术文件)进行初步评审。有一项不符合评审标准的,评标委员会应否决其投标。

3.2第一个信封详细评审

3.2.1评标委员会按本章第2.2款规定的量化因素和分值进行打分,并计算出各投标人的商务和技术得分。

(1)按本章第2.2.41)目规定的评审因素和分值对技术建议书部分计算出得分A;

(2)按本章第2.2.42)目规定的评审因素和分值对主要人员部分计算出得分B;

(3)按本章第2.2.44)目规定的评审因素和分值对其他部分计算出得分D

3.2.2投标人的商务和技术得分分值计算保留小数点后两位,小数点后第三位“四舍五入”。

3.2.3投标人的商务和技术得分=A+B+D

第一个信封(商务及技术文件)评审结束后,招标人将按照第二章“投标人须知” 第5.1款规定的时间和地点对通过投标文件第一个信封(商务及技术文件)评审的投标文件第二个信封(报价文件)进行开标。

3.4第二个信封初步评审

3.4.1评标委员会依据本章第2.1.1项、第2.1.3项规定的评审标准对投标文件第二个信封(报价文件)进行初步评审。有一项不符合评审标准的,评标委员会应否决其投标。

3.4.2投标报价有算术错误的,评标委员会按以下原则对投标报价进行修正,修正的价格经投标人书面确认后具有约束力。投标人不接受修正价格的,评标委员会应否决其投标。

(1)投标文件中的大写金额与小写金额不一致的,以大写金额为准;

(2)总价金额与依据单价计算出的结果不一致的,以单价金额为准修正总价,但单价金额小数点有明显错误的除外;

(3)当单价与数量相乘不等于合价时,以单价计算为准,如果单价有明显的小数点位置差错,应以标出的合价为准,同时对单价予以修正;

(4)当各子目的合价累计不等于总价时,应以各子目合价累计数为准,修正总价。

3.4.3修正后的最终投标报价若超过最高投标限价(如有),评标委员会应否决其投标。

3.4.4修正后的最终投标报价仅作为签订合同的一个依据,不参与评标价得分的计算。

3.5第二个信封详细评审

3.5.1评标委员会按本章第2.2.43)目规定的评审因素和分值对评标价计算出得分C评标价得分分值计算保留小数点后两位,小数点后第三位“四舍五入”。

3.5.2投标人综合得分=投标人的商务和技术得分+C

3.5.3评标委员会发现投标人的报价明显低于其他投标报价,使得其投标报价可能低于其个别成本的,应要求该投标人作出书面说明并提供相应的证明材料。投标人不能合理说明或不能提供相应证明材料的,评标委员会应认定该投标人以低于成本报价竞标,并否决其投标。

3.6投标文件相关信息的核查

3.6.1在评标过程中,评标委员会应查询交通运输主管部门“公路建设市场信用信息管理系统”,对投标人的资质、业绩、主要人员资历和目前在岗情况、信用等级等信息进行核实。若投标文件载明的信息与交通运输主管部门“公路建设市场信用信息管理系统”发布的信息不符,使得投标人的资格条件不符合招标文件规定的,评标委员会应否决其投标。

3.6.2评标委员会应对在评标过程中发现的投标人与投标人之间、投标人与招标人之间存在的串通投标的情形进行评审和认定。投标人存在串通投标、弄虚作假、 行贿等违法行为的,评标委员会应否决其投标。

(1)有下列情形之一的,属于投标人相互串通投标:

a.投标人之间协商投标报价等投标文件的实质性内容;

b.投标人之间约定中标人;

c.投标人之间约定部分投标人放弃投标或中标;

d.属于同一集团、协会、商会等组织成员的投标人按照该组织要求协同投标;

e.投标人之间为谋取中标或排斥特定投标人而采取的其他联合行动。

(2)有下列情形之一的,视为投标人相互串通投标:

a.不同投标人的投标文件由同一单位或个人编制;

b.不同投标人委托同一单位或个人办理投标事宜;

c.不同投标人的投标文件载明的项目管理成员为同一人;

d.不同投标人的投标文件异常一致或投标报价呈规律性差异;

e.不同投标人的投标文件相互混装;

f.不同投标人的投标保证金从同一单位或个人的账户转出。

(3)有下列情形之一的,属于招标人与投标人串通投标:

a.招标人在开标前开启投标文件并将有关信息泄露给其他投标人;

b.招标人直接或间接向投标人泄露标底、评标委员会成员等信息;

c.招标人明示或暗示投标人压低或抬高投标报价;

d.招标人授意投标人撤换、修改投标文件;

e.招标人明示或暗示投标人为特定投标人中标提供方便;

f.招标人与投标人为谋求特定投标人中标而采取的其他串通行为。

(4)投标人有下列情形之一的,属于弄虚作假的行为:

a.使用通过受让或租借等方式获取的资格、资质证书投标;

b.使用伪造、变造的许可证件;

d.提供虚假的项目负责人或主要技术人员简历、劳动关系证明;

e.提供虚假的信用状况;

f.其他弄虚作假的行为。

3.7投标文件的澄清和说明

3.7.1在评标过程中,评标委员会可以书面形式要求投标人对投标文件中含义不 明确的内容、明显文字或计算错误进行书面澄清或说明。评标委员会不接受投标人主动提出的澄清、说明。投标人不按评标委员会要求澄清或说明的,评标委员会应否决其投标。

3.7.2澄清和说明不得超出投标文件的范围或改变投标文件的实质性内容(算术性错误的修正除外)。投标人的书面澄清、说明属于投标文件的组成部分。

3.7.3评标委员会不得暗示或诱导投标人作出澄清、说明,对投标人提交的澄清、说明有疑问的,可以要求投标人进一步澄清或说明,直至满足评标委员会的要求。

3.7.4凡超出招标文件规定的或给委托人带来未曾要求的利益的变化、偏差或其他因素在评标时不予考虑。

3.8不得否决投标的情形

投标文件存在第二章“投标人须知”第1.12.3项所列情形的,均视为细微偏差,评标委员会不得否决投标人的投标,应按照第二章“投标人须知”第1.12.4项规定的原则处理。

3.9.1除第二章“投标人须知”前附表授权直接确定中标人外,评标委员会按照得分由高到低的顺序推荐中标候选人,并标明排序。

3.9.2评标委员会完成评标后,应向招标人提交书面评标报告

}

我要回帖

更多关于 三个相同数字相乘的规律 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信