小白自用学习记录
demo5:循环控制语句
# -*- codeing =utf-8-*- # @Time:2024/6/258:09 # @Author:Susan Wu # @File:demo5.py # @Software:PyCharm '''【for循环】可以依次把list、tuple中的元素迭代出来''' for i in range(5): print(i)#注意这里打出来是0,1,2,3,4,即【0,5) for i in range(1,10,3):#步进3,打出来1,4,7 print(i) for i in range(-1,-10,-3):#负向 print(i) '''for循环--特殊的数据结构''' name ="changsha" for i in name: print(i,end='\t')#逐个输出字符,每个之间有空格 '''for循环--对列表的操作''' a=["aa","bb","cc"] for i in a: print(i,end='\t')#打印a里的字符 for i in range(len(a)):#len(a)返回a的长度 print(a[i])#打印a里的字符 print(i)#并在每次循环时加入字符在i中的位置 print(a[i],i)#前两句话可以简化为这一句话 '''【While】''' i=0 while i<5: print("%d,当前是第%d次循环"%(i,(i+1))) i+=1 #此时i在循环外已经变成5 '''例题:1-100求和''' #for循环 print("1-100求和") s=0 for i in range(101): s+=i i+=1 print(s) #此时i在循环外已经变成101 '''for的第二种写法''' count=1 sum=0 for i in range(1,101,1): sum+=i count+=1 print(sum) s=0 i=0#要重新定义一下i #while循环 while i<101: s+=i i+=1 print(s) #while...else... count=0 while count<10: print(count,"小于10") count+=1 else: print(count,"出循环") '''【break,continue,pass语句】''' '''【break,结束循环】''' i=0 while i<10: i+=1 print("-"*50) if i==5: break print(i) '''【continue:跳过本次循环】''' i=0 while i<10: i+=1 print("-"*50) if i==5: continue print(i) '''【pass:空语句,无意义,水代码专用】'''
demo6:字符串、列表、元组、字典
# -*- codeing =utf-8-*- # @Time:2024/6/2510:15 # @Author:Susan Wu # @File:demo6-字符串、列表、元组、字典.py # @Software:PyCharm word='单引号指示字符串更方便' sentence="双引号指示一个句子更方便" paragraph=""" 这是一个段落 可以换行 保存程序编写过程中所有格式 """ print(word) print(sentence) print(paragraph) #单引号和双引号差别 my_sen="I'm a sentence" print(my_sen) ''' my_str='I'm a string' print(my_str)输出报错,因为内部有单引号,应该输入\'转义,如下(双引号同理) ''' my_str='I\'m a string' print(my_str) ''' 【字符串截取】 ''' str="changsha" print(str) print(str[0:5])#第1-5位[起始位置:结束位置:步进值(可无)] print(str[0:5:2])#第1、3、5位 print(str[0:])#输出直到末尾 print(str[:5])#从头输出到第五位 ''' 【字符串连接】 ''' print(str+","+"hello")#可以直接用➕连接 print((str+"\t")*3)#*法和+法的联合应用 print("hello\nchengdu") print(r"hello\nchengdu") #加了r可以去“\”的转译功能,注意爬取的时候一定要加r,否则容易出错
demo7:列表(1)
# -*- codeing =utf-8-*- # @Time:2024/6/2510:59 # @Author:Susan Wu # @File:demo7-列表(1).py # @Software:PyCharm ''' 【列表】 特点: 里面的元素可以不一样 有负数下标 爬虫数据整理常用 ''' namelist=[]#定义空列表 namelist=["赵","钱","孙","李"] print(namelist) print(namelist[0]) print(namelist[-2]) for name in namelist:#优点在于简洁 print(name) testlist=["赵",80,89,77,94] print(testlist[0:2]) print(len(namelist)) for i in range(0,len(namelist)): print(namelist[i]) j=0 while j<len(namelist):#优点在于可操作性大 print(namelist[j]) j+=1 print("-"*100) '''【增删改查】''' #增:【append】将列表变为一个元素加进去了 '''print("------增加前,名单列表的数据------") for name in namelist: print(name) nametemp=input("请输入添加的姓名") namelist.append(nametemp)#在末尾追加一个元素 print("------增加前,名单列表的数据------") for name in namelist: print(name) a=[1,2] b=[3,4] a.append(b) print(a)#a变成了[1, 2, [3, 4]]''' #增:【extend】将b里的每个元素作为元素追加到a '''a=[1,2] b=[3,4] a.extend(b) print(a)''' #增:【insert】指定下标位置插入元素 '''a=[0,1,2] a.insert(1,3) #第一个变量表示插入下标,第二个表示元素/对象 print(a)''' #删【del】删除,指定位置删除一个元素 '''movieName=["飘","奥德赛","面纱","别让我走",'白色巨塔'] print("------增加前,电影列表的数据------") print(movieName) print("------增加后,电影列表的数据------") del movieName[2] print(movieName)''' #删【pop】弹出,删除末尾最后一个元素 '''movieName=["飘","奥德赛","面纱","别让我走",'白色巨塔'] print("------增加前,电影列表的数据------") print(movieName) print("------增加后,电影列表的数据------") movieName.pop() print(movieName)''' #删【remove】移出,直接删除指定内容的元素(首个) '''movieName=["飘","奥德赛","面纱","别让我走","飘",'白色巨塔'] print("------增加前,电影列表的数据------") print(movieName) print("------增加后,电影列表的数据------") movieName.remove("飘") print(movieName)''' #改【直接指定下标】 '''movieName=["飘","奥德赛","面纱","别让我走",'白色巨塔'] print("------修改前,电影列表的数据------") print(movieName) print("------修改后,电影列表的数据------") movieName[1]="千与千寻" print(movieName)''' #查【in/not in】 '''movieName=["飘","奥德赛","面纱","别让我走",'白色巨塔'] findName=input("请输入您想要查询的电影") print("您想查询的电影是%s"%findName) if findName in movieName: print("找到") else: print("未找到")'''
demo8:列表(2)
# -*- codeing =utf-8-*- # @Time:2024/6/2520:16 # @Author:Susan Wu # @File:demo8-列表(2).py # @Software:PyCharm '''【其他】''' #[index]查询返回下标 '''a=["a","b","c","a","b","d"] print(a.index("b",0,4)) #查询c是否在【1,3)位,返回下标2,如果有多个,返回第一个,如果没有会报错''' #[count]统计次数 '''a=["a","b","c","a","b","d"] print(a.count("b")) ''' #[reverse]反转 '''a=[1,4,2,3] a.reverse() print(a)''' #[sort]从低到高 '''a=[1,4,2,3] a.sort() print(a)''' #[sort][reverse]联用,从高到低 '''a=[1,4,2,3] a.sort(reverse=True) print(a)''' #列表嵌套(可以理解为二维数组) '''schoolNames=[["北京大学","清华大学"],["天津大学","南开大学"],["中南大学"],["中国科学院大学"],[]] print(schoolNames[0][1]) print(schoolNames[4]) print(schoolNames)''' #例题:八个老师1~8随机分配进入三个办公室 import random office=[[],[],[]] teacher=[] for i in range(1,9,1):#若想要字符则用for name in names fenpei=random.randint(0,2) office[fenpei].append(i) print(office) for i in range(3): print("第%d间办公室里有%d位老师"%((i+1),len(office[i])),end="\t") print(",他们是:",end="") for j in range(len(office[i])): print(office[i][j],end="\t") print("\n") print("-"*100)