Jay jay
文章28
标签2
分类0
python语言基础学习(二)

python语言基础学习(二)

程序结构

顺序结构

顺序向下写

选择结构

  • 单分支

    if 表达式:
    语句块
  • 二分支

    if 表达式:
    语句块1
    else:
    语句块2
  • 多分支

    if 表达式1: 
    语句块1
    elif 表达式2:
    语句块2

    [else:
    语句块n+1]

    练习:使用if多分支语句实现简单的算术运算,•支持+、-、*、/运算:

    if __name__=='__main__':
    input_op=input("请输入运算:(操作数何操作符之间用空格分隔)")
    x,op,y=input_op.split()
    if op=='+':
    z=float(x)+float(y)
    elif op=='-':
    z=float(x)-float(y)
    elif op == '*':
    z=float(x)*float(y)
    elif op == '/':
    if y==0:
    print("分母不能为零输入错误!!!")
    else:
    z=float(x)/float(y);
    print("{}{}{}={}".format(x,op,y,z))

    结果

循环结构

while 语句

while 表达式:
语句块
[else:
else子句语句块]

for语句

for 变量 in 序列或迭代对象:
语句块
[else:
else子句语句块]

三个在循环语句中使用的关键字:

break语句:退出循环
continue语句:跳过该次循环
pass:空语句(不做任何处理)

练习 使用while语句计算1~100的和(for循环时可以使用range函数):

if __name__=='__main__':
i=0
s=0
while i<=100:
s=s+i
i=i+1
print("while循环:",s)
s1=0
for a in range(1,101):
s1=s1+a
print("for循环:",s1)

结果

练习 输出九九乘法表:

if __name__=='__main__':
for i in range(1,10):
for a in range(1,i+1):
if(i*a>=10):
str=" "
else:
str=" "
print("%d*%d=%d"%(a,i,i*a),end=str)
print(" ")

结果

组合数据

列表

  • 创建列表

    1、使用[ ]运算符创建列表:
    list1 = []
    list2 = [1.25,21.06,0.3,4.7,58.1]
    list3 = ["石油","汽车","建筑","IT"]
    list4 = ['Alice’, 18, 'Beth’, 19]
    2、使用list()函数创建列表
    >>>list1 = list()
    >>>list(("李白","杜甫","白居易"))
    ['李白', '杜甫', '白居易']
    >>> list("素质重于能力重于学历")
    ['素', '质', '重', '于', '能', '力', '重', '于', '学', '历']
    >>> list(range(5))
    [0, 1, 2, 3, 4]

  • 访问列表

    1、索引访问

    索引访问

​ 2、切片访问

切片访问

  • 遍历列表

    carList = ["奔驰", "大众", "福特", "宝马", "奥迪", "雪佛兰"]
    for car in carList:
    print(car,end=' ')

    结果

  • 添加列表元素

    添加方法如下:
    (1) list.append(newItem)
    (2) list.insert(index, newItem)
    (3) list.extend(seq)
    (4) list[len(list):] = newList

    调用

  • 修改列表元素

    修改

  • 删除列表元素

    (1) del list[index]:删除索引为index的元素。
    (2) list.pop():删除列表末尾的元素。
    (3) list.pop(index):删除索引为index的元素。
    (4) list.remove(item):删除列表元素item。
    (5) list.clear():删除列表中所有元素。
    (6) list[::] = []:对指定范围的列表元素进行删除。

    尝试使用删除

    尝试2

    • 复制列表

      1、直接复制 list_copy = list1

      2、浅拷贝 使用list.copy(只对第一层实现深拷贝)

      3、深拷贝 使用copy模块,copy.deepcopy()

if __name__ == '__main__':
a=[[1,2],[3,4],280]
c=a.copy()
b=copy.deepcopy(a)
print(id(a[0]))
print(id(b[0]))
print(id(c[0]))
print('——' *10)
print(id(a[2]))
print(id(b[2]))
print(id(c[2]))

拷贝分析

  • 删除列表

  • 列表运算
+、*、in、not in
关系运算符:规则是从两个列表的第1个元素开始比较,如果比较有结果则结束;否则继续比较两个列表后面对应位置的元素。
注:对比字符串运算(一致)
  • 列表统计

    (1) len(list):返回列表list中的元素个数。
    (2) max(list):返回列表list中元素的最大值。
    (3) min(list):返回列表list中元素的最小值。
    (4) sum(list):返回列表list中所有元素的和。
    (5) list.count(key):返回关键字key在列表中的出现次数。

  • 列表查找与排序

    1、查找函数
    List.index(key)
    2、排序函数
    list.sort():对列表list中的元素按照一定的规则排序。
    list.reverse():对列表list中的元素按照一定的规则反向排序。
    sorted(list):对列表list 中的元素进行临时排序,返回副本。

元组

元组(Tuple)是写在()之间用逗号隔开的元素集合,元组创建后其中的元素不能修改

  • 元组创建

    使用()运算符创建元组

    tuple1=() #创建空元组
    tuple2=(1,8,24,65,125)#元素为数字
    tuple3=("计算机","生物信息")#元素为字符串
    tuple4=("华为","5564654",666)#元素为数字和字符串混合

    使用tuple()函数创建元组:tuple(sequence)

    tuple("理想是人生的太阳")
    ('理', '想', '是', '人', '生', '的', '太', '阳')
    tuple(range(1,6))
    (1, 2, 3, 4, 5)
    tuple(["莎士比亚","托尔斯泰","但丁","雨果","歌德"])
    ('莎士比亚', '托尔斯泰', '但丁', '雨果', '歌德')
  • 元组访问

    1. 通过元组名访问元组

    2. 通过tuple[index]访问指定索引为index的元组元素

    3. 元组切片(start:end:step)

    4. 遍历元组:for 变量 in 元组名

      测试

  • 元组复制和删除

    1. 支持赋值语句直接复制

    2. del删除元组

      测试

  • 元组运算

    元组运算包括+、in/not in 及关系运算符等,使用方法和列表中类似

    wanyue_tuple=("柳永","晏殊")
    haofang_tuple=("陆游","苏轼")
    ci_author_tuple=wanyue_tuple+haofang_tuple
    print("宋朝词人",ci_author_tuple)
    print("李清照是宋朝词人吗?","李清照" in ci_author_tuple)
    print("岳飞 出现三次的元组:",("岳飞")*3)
    print("wanyue_tuple <ci_author_tuple?",wanyue_tuple<ci_author_tuple)

    测试

  • 元组统计

    1. max()

    2. min()

    3. sum()

    4. count()

    5. len()

      等和列表操作类似

      pelltuple=(0,1,2,5,12,29,70,169,408,985)
      print("最大值:",max(pelltuple))
      print("最小值:",min(pelltuple))
      print("所有元素的和:",sum(pelltuple))
      print("元素%d在元组中出现的次数:%d.次"%(5,pelltuple.count(5)))
      print("元组中的元素个数:%d个."%(len(pelltuple)))

测试

字典:

用{}标识创建,字典是一个无序的“键(key):值(value)”对集合,键(key)必须使用不可便类型,如字符串、数字等,值(value)可以是简单数据或组合数据多种不同类型,在同一个字典中键(key)必须是唯一的,值可以不唯一

  • 字典创建

    使用{}运算符创建字典

    使用dict()函数创建:

    (1)dict(**kwarg):以关键字创建字典。**kwarg为关键字

    (2)dict(mapping,**kwarg):以映射方式构造字典,mapping为元素的容器

    (3)dict(iterable,**kwarg):以可迭代对象方式构造字典,iterable为可迭代对象

    测试

  • 字典访问

    通过字典名访问字典,通过“dict[key]”或”dict.get(key)”房屋指定元素

    dict.itms():以列表形式返回字典中所有的“键/值”对,每个“键/值”对以元组的形式存在

    dict.keys():以列表的形式返回字典中的所有键

    dict.values():以列表形式返回字典中所有的值

    访问

    for循环遍历字典中所有元素

    dict={"猪肉":10,"羊肉":20,"牛肉":30}
    for key,value in dict.items():
    print(key,'/',value,end=" ")

    测试

    字典元素的添加、修改、删除

    添加:

    dict[key]=value #key不存在

    修改:

    dict[key]=value #key已存在

    删除:

    del dict[key]:删除关键字为key的元素

    dict.pop(key):删除关键字为key的元素

    dict.popitem():随机删除字典中的元素

    dict.clear():删除字典中所有元素

    测试

  • 字典复制和删除

    赋值语句进行复制:源改新改

    copy函数:源改新不改

    deepcopy模块进行复制

    del语句进行字典删除

    测试

    这里和列表的拷贝类似

集合(set):

在{}之间,用逗号分隔无序且不重复的元素集合,不可以为集合创建索引或执行切片(slice)操作

没有键(key)可以用来获取集合中元素的值。

  • 集合创建

    python中可以使用{}运算符创建集合

    set()函数创建集合,()可以传入字符串、列表、元组或range()函数的返回结果,使用list作为set函数参数可以将列表中的重复元素干掉

    测试

  • 集合访问

    使用集合名访问集合

    for循环遍历集合中的元素

    set.add(item)添加集合元素

    set.update(item)更新修改集合元素

    删除集合元素:

    set.remove(item):删除指定元素item

    set.discard(item):删除指定元素item

    set.pop:随机删除集合中的元素

    set.clear:清空集合列表

    测试

  • 集合复制和删除

    复制:

    ​ 赋值语句复制

    ​ copy()函数赋值(浅复制)

    ​ deepcopy()模块赋值(深复制)

    删除:

    ​ del语句删除

    测试

  • 集合运算

    (1) set1.union(set2) 或 set1 | set2:并集运算。

    (2) set1.intersection(set2) 或 set1 & set2:交集运算。

    (3) set1. difference(set2) 或 set1 - set2:差集运算。

    (4) set1. issubset(set2) 或 set1 < set2:子集运算。

    (5) item in set 或item not in set:成员运算。

    测试

  • 集合统计

    max()函数、min()函数、sum()函数、len()函数

    测试

嵌套组合数据

​ 当组合数据中的元素为组合数据时,称为嵌套组合数据如嵌套列表中的元素是:列表、元素、字典、集合等,嵌套字典中的元素是:列表、字典、元组、集合。

本文作者:Jay jay
本文链接:https://yyj-xx.github.io/2021/09/22/python%E8%AF%AD%E8%A8%80%E5%9F%BA%E7%A1%80%E5%AD%A6%E4%B9%A0-%E4%BA%8C/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可