一、注释
print("哈哈哈") print("你好啊,python") # 单行注释 """ 注释!!这是注释 """ print("python,文字和注释颜色一样。")
二、标准化输出
""" print("标准化输出字符串") a = 10 print("这是变量:", a) """ age = 18 print("我的名字是%s,我的国籍是%s" % ("轩玉", "中国")) print("我的年纪是:%d 岁" % age) # 了解 print("aaa", "bbb", "vvv") print("www", "baidu", "com", sep=".") # 表示前几个字符串,中间用点分开 print("hello", end="") # 不换行 print("hello", end="\t") print("end") print("hello", end="\n") print("end") print("1234567890\n-------")
三、输入
""" password = input("请输入密码:") print("你输入的是:", password) """ # a = 10 # a = "abc" a = input("输入:") print(type(a)) print("输入任意数、字:%s" % a) # 当做字符串处理 """ a = int("123") print(type(a)) b = a + 123 print(b) c = int(input("输入:")) print("输入一个数字:%d" % c) """
四、条件判断语句
条件判断语句 # if False: """ if True: print("true") # 保持缩进一样 print("Answer") else: print("false") print("end") """ score = 77 # 分数 ''' if 90 <= score <= 100: print("优秀!A") elif 80 <= score <= 90: print("等级为:B") elif 70 <= score <= 80: print("等级为:C") elif 60 <= score <= 70: print("等级为:D") elif 0 <= score <= 60: print("本次不及格!") # else: # else可以和elif一起使用 print("本次不及格!") ''' # 嵌套用法 ''' gender = 0 # 1代表男生 , 0 代表女生 danshen = 2 # 1代表单身 , 0 代表有对象 if gender == 1: print("男生") if danshen == 1: print("我给你介绍一个吧!") else: print("给我介绍一个吧!") else: print("女生") if danshen == 1: print("我给你介绍一个吧!") else: print("给我介绍一个吧!") ''' # 引入随机数 import random x = random.randint(0, 200) # 随机生成0~200之间的数 print(x)
五、课堂练习
print("剪刀石头布,布刀剪头石") ''' 综合使用if语句相关的知识,实现石头剪刀布游戏效果,显示以下提示信息: 请输入:剪刀(0)、石头(1)、布(2): 用户输入数字0-2中的一个数字,与系统随机生成的数字进行比较后给出结果信息。 例如:输入0后,显示如下 你的输入为:剪刀(0) 随机生成的数字为1 哈哈,你输了!:) 提示:对于输入不正常的情况尽可能考虑全面,促使程序能够正常运行。、 建议用时15~20分钟 ''' # import random x = random.randint(0, 2) a = int(input("输入剪刀石头布(0~2的数字:剪刀(0)、石头(1)、布(2)):")) if 0 <= a <= 3: if a == 0 and x == 0: print("你输入的是:剪刀(0)", a) print("随机生成的是:剪刀(0)", x) print("平局了!哈哈哈") elif a == 0 and x == 1: print("你输入的是:剪刀(0)", a) print("随机生成的是:石头(1)", x) print("你输了!牛啊!牛啊!") elif a == 0 and x == 2: print("你输入的是:剪刀(0)", a) print("随机生成的是:布(2)", x) print("你赢了!恭喜恭喜!!") elif a == 1 and x == 0: print("你输入的是:石头(1)", a) print("随机生成的是:剪刀(0)", x) print("你赢了!恭喜恭喜!!") elif a == 1 and x == 1: print("你输入的是:石头(1)", a) print("随机生成的是:石头(1)", x) print("平局了!哈哈哈") elif a == 1 and x == 2: print("你输入的是:石头(1)", a) print("随机生成的是:布(2)", x) print("你输了!牛啊!牛啊!") elif a == 2 and x == 0: print("你输入的是:布(2)", a) print("随机生成的是:剪刀(0)", x) print("你输了!牛啊!牛啊!") elif a == 2 and x == 1: print("你输入的是:布(2)", a) print("随机生成的是:石头(1)", x) print("你赢了!恭喜恭喜!!") elif a == 2 and x == 2: print("你输入的是:布(2)", a) print("随机生成的是:布(2)", x) print("平局了!哈哈哈") # else: # print("怎么回事!") else: print("你输入的数%d不是剪刀,石头,布。请重新输入!!" % a) print(end="比赛结束!!")
六、循环控制语句
# for循环 print("循环控制语句") ''' for i in range(5): print(i) for i in range(0, 10, 3): # 从0开始,到11结束,以步进值为3 (每次+3) range(起始数,结束数,增加量),《顾头不顾腚》 print(i) for i in range(-10, -100, -30): print(i) name = "anhui" for x in name: print(x,end="\t") ''' ''' a = ["aa", "bb", "cc", "dd"] for i in range(len(a)): print(i, a[i]) ''' # while循环 ''' i = 0 while i < 5: print("当前是第%d次执行" % (i + 1)) print("i=%d", i) i += 1 ''' # 1~100求和 ''' 我的: i = 0 he = 0 while i <= 100: he += i i += 1 print(he) he = 0 for i in range(0, 101, 1): he += i print(he) print(he) 视屏: n = 100 sum = 0 counter = 1 while counter <= n: sum = sum + counter counter += 1 print("1到%d的和为:%d" % (n, sum)) ''' count = 0 while count < 5: print(count, "小于5") count += 2 else: print(count, "大于或等于5") # pass 空语句,一般用作占位语句,不做任何事情 ''' break 结束循环 continue 跳过本次循环 '''
七、使用for循环和while循环,打印九九乘法表:
# 使用for循环,打印九九乘法表: for i in range(1, 10, 1): print(end="\n") for j in range(10 - i, 10, 1): print("%d*%d=%d" % (i, j, i * j), end="\t") print(end="\n") print("*" * 30, end="\n") # 使用while循环,打印九九乘法表: i = 1 while i <= 9: j = 1 while j <= i: print('%d*%d = %2d' % (j, i, i * j), end='') j += 1 print() i += 1
八、字符串
print("字符串") ''' word = '字符串' sentence = "这是一个句子" paragraph = """ 这是一个段落 可以有多行组成 """ print(word) print(sentence) print(paragraph) ''' ''' my_str = "I'm a student" my_str = 'I\'m a student' print(my_str) ''' ''' my_str = "jason said \"I like you\"" my_str = 'jason said "I like you"' print(my_str) ''' ''' str = "chengdu" print(str) print(str[0]) print(str[0:5]) # 从1开始 一共五个 #[起始位置:结束位置:步进值] print(str[5]) # 从0开始 第六个 print(str[0:6]) # 从1开始 一共六个 print(str[6]) # 从0开始 第七个 ''' ''' print(str[1:8:2]) # [起始位置:结束位置:步进值] (c)h(e)n(g)d(u) 从1开始 print(str[5:]) # 从第五个开始,显示后面的 从1开始 print(str[:5]) # 从第五个结束,显示前面的 从1开始 ''' print("hello\nChengdu") print("\a响铃\a哈哈哈\b") print(r"hello\nChengdu") # 前面加r的,后面的\(n,t),不进行解释转义,直接显示原始字符串
九、列表List
print("列表List") # namelist = [] # 定义一个空的列表 namelist = ["小小", "小雀", "小巧"] ''' print(namelist[0]) print(namelist[1]) print(namelist[2]) ''' ''' # 遍历 for name in namelist: print(name) # print(len(namelist)) len()可以得到列表的长度 # 遍历 lenth = len(namelist) i = 0 while i < lenth: print(namelist[i]) i += 1 ''' ''' # 增 # 增加: [append] 整体加入 print("-----增加前名单列表的数据-------") for name in namelist: print(name) namea = "小文" namelist.append(namea) # 在末尾追加一个元素 nametemp = input("请输入添加学生的姓名:") namelist.append(nametemp) # 在末尾追加一个元素 print("-----增加后名单列表的数据-------") for name in namelist: print(name) ''' ''' # 扩展 增 --- [extend]:拆散开,逐一加入 a = [1, 2] b = [3, 4] a.append(b) # 列表的嵌套:将列表当做一个元素,加入a表中,二维列表 print(a) a.extend(b) # 将b列表中的每个元素,逐一追加到a列表中 print(a) ''' ''' # 扩展 增 --- [inset]: 插入 a = [0, 1, 2] a.insert(1, 3) # 第一个变量表示下标,第二个表示元素(对象) print(a) # 指定下标位置,插入元素 ''' # 删 ''' # 删除 [del] [pop] [remove] pop 弹出的意思 movieName = ["加勒比海盗", "骇客帝国", "第一滴血", "指环王", "速度与激情", "指环王"] print("-----删除前电影列表的数据-------") for name in movieName: print(name, end="\t") # del movieName[2] # 在指定的下标位置,删除元素 movieName.pop() # 弹出末尾最后一个元素(相当于删除最后一个元素) movieName.remove("指环王") # 直接删除指定内容中,找到的第一个 print(end="\n") print("-----删除后电影列表的数据------- ") for name in movieName: print(name, end="\t") ''' # 改 ''' # 改 : print("-----修改前名单列表的数据-------") for name in namelist: print(name, end="\t") namelist[0] = "小美" # 修改指定下标的内容 print(end="\n") print("-----修改后名单列表的数据-------") for name in namelist: print(name, end="\t") ''' # 查 ''' # 查 :[in not in] findName = input("请输入你要查找的学生姓名:") if findName in namelist: print("在学员名单中") else: print("没有找到") ''' # 拓展 ''' a = ["a", "b", "c", "a", "b"] print(a.index("a", 1, 4)) # a[3] 第四个 可以查找指定下表范围的元素,并返回找到对应数据的下标 # print(a.index("a", 1, 3)) # 范围区间 左闭右开 # 找不到会报错 print(a.count("a")) # 统计某个元素出现几次 ''' ''' a = [1, 4, 2, 3] print(a) a.reverse() # 将列表所有元素反转 print(a) a.sort() # 默认升序(从低到高)排序 print(a) a.sort(reverse=True) # 降序 print(a) ''' ''' # schoolName = [[], [], []] # 有三个元素,每个元素都是一个空列表 schoolName = [["北京大学", "清华大学"], ["南开大学", "天津大学", "天津师范大学"], ["山东大学", "中国海洋大学"]] print(schoolName[0][0]) # 二维数组 ''' # 案例 ''' # 有三个办公室,8个老师 a~h, 把八个老师随机分到三个办公室,输出并打印出来 import random offices = [[], [], []] names = ["A", "B", "C", "D", "E", "F", "G", "H"] i = 0 for name in names: index = random.randint(0, 2) offices[index].append(name) i = 1 for office in offices: print("办公室人数为:%d" % (i, len(office))) i += 1 for name in office: print("%s" % name, end="\t") print("\n") print("-" * 20) ''' ''' import random offices = [[], [], []] names = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'] for name in names: index = random.randint(0, 2) offices[index].append(name) i = 1 for tempNames in offices: print('办公室%d的人数为:%d' % (i, len(tempNames))) i += 1 for name in tempNames: print("%s" % name, end='\t') print("\n") print("-"*20) '''
十、 元组(Tuple)
print("元组(Tuple)") # 元组(Tuple) ''' tup1 = () # 创建空的元组 print(type(tup1)) # tup2 = (50) #<class 'int'> # tup2 = (50,) # <class 'tuple'> tup2 = (50, 60, 70) # <class 'tuple'> print(type(tup2)) ''' ''' tup1 = ("abc", "def", 2020, 2002, 333, 444, 555, 666) print(tup1[0]) print(tup1[-1]) # 访问最后一个元素 print(tup1[0:5]) # 左闭右开,进行切片 不包括5 ''' # 增 ''' # 增(连接起来,新建一个) tup1 = (12, 34, 56) tup2 = ("abc", "xyz") tup = tup1 + tup2 直接新建一个元组 print(tup) ''' # 删 ''' # 删 tup1 = (12, 34, 56) print(tup1) del tup1 print("删除后") # 删除整个元组 print(tup1) ''' # 改 ''' # 不能改 tup1 = (12, 34, 56) tup1[0] = 100 # 保错,不允许修改 ''' # 查
十一、核心数据类型-- 字典 ( dict )
核心数据类型-- 字典(dict) 也是数据结构(要对增删改查有了解) print("字典!") # 使用键值对(key-value)存储 键(key)必须是唯一的 # 字典的定义 ''' info = {"name": "吴彦祖", "age": 666} ''' # 字典的访问 ''' print(info["name"]) print(info["age"]) ''' # 访问了不存在的键 ''' # print(info["gender"]) # 直接访问会保错 # print(info.get("gender")) # 使用 get方法 - 若没有找到对应的键 -默认返回none print(info.get("gender", "m")) # 没找到的时候 可以设定默认值 print(info.get("age", "666")) # 找到的话,直接输出 ''' # 增 ''' # 增 info = {"name": "吴彦祖", "age": 666} newID = input("请输入新增的学号") info["id"] = newID print(info["id"]) ''' # 删 # 删除(del) ''' info = {"name": "吴彦祖", "age": 666} print("删除前:%s" % info["name"]) del info["name"] # 删除的是整个键值对的内容 ''' # print("删除后:%s" % info["name"]) # 删除了指定的键值对后,再次访问会报错 ''' info = {"name": "吴彦祖", "age": 666} print("删除前:%s" % info) del info ''' # 清除(clear) ''' info = {"name": "吴彦祖", "age": 666} print("删除前:%s" % info) info.clear() print("删除后:%s" % info) ''' # 改 ''' # 改 info = {"name": "吴彦祖", "age": 666} print("更改前:%s" % info["age"]) info["age"] = 555 print("更改前:%s" % info["age"]) ''' # 查 # 查 (遍历) info = {"id": 11200309, "name": "吴彦祖", "age": 666} ''' print(info.keys()) # 得到所有的键(列表形式) print(info.values()) # 得到所有的值(列表形式) print(info.items()) # 得到所有的项(列表形式,一对一对的) ''' # 遍历所有的键 ''' for key in info.keys(): print(key) ''' # 遍历所有的值 ''' for value in info.values(): print(value) ''' # 遍历所有的键值对 ''' for key, value in info.items(): print("key=%s,value=%s" % (key, value)) ''' # 使用枚举函数 ,同时拿到列表中的下标和元素内容 enumerate 枚举类型 ''' mylist = ["a", "b", "c", "d"] for i, x in enumerate(mylist): # 打印下标 print(i, x) ''' # 集合 set 可以用来做去重的操作
十二、函数
print("函数") # 定义和调用 ''' # 函数的定义 def printinfo(): print("-----------------------") print(" 人生苦短,我用python ") print("-----------------------") # 函数的调用 printinfo() ''' # 带参数的函数 ''' def add2Num(a, b): c = a + b print(c) add2Num(11, 22) ''' # 带返回值的函数 ''' def add2Num(a, b): return a + b # 通过return来返回运算结果 # print(add2Num(11, 22)) result = add2Num(11, 22) print(result) ''' # 返回多个值的函数 ''' def divid(a, b): # divid 除法 shang = a // b yushu = a % b return shang, yushu #多个返回值使用逗号分隔开 sh, yu = divid(5, 2) # 需要使用多个值来保存返回内容 print(sh, yu) '''
十三、 课堂练习
print("函数") ''' 1、写一个打印一条横线的函数。(提示:横线是由若干个"-"组成) 2、写一个函数,可以通过输入的参数,打印出自定义行数的横线。(提示:点用上面的函数) 3、写一个函数,求三个数的和 4、写一个函数,求三个数的平均值。(调用上面的函数) ''' # 1、写一个打印一条横线的函数。(提示:横线是由若干个"-"组成) ''' def heng(): print("-" * 15) heng() ''' # 2、写一个函数,可以通过输入的参数,打印出自定义行数的横线。(提示:点用上面的函数) ''' def xian(): hang = int(input("想要打印的行数:")) i = 0 while i < hang: heng() i += 1 xian() ''' # 3、写一个函数,求三个数的和 ''' 我的: def sum(): a = int(input("输入整数a:")) b = int(input("输入整数b:")) c = int(input("输入整数c:")) he = a + b + c print(he) # sum() ''' # 要有返回值, def sum(a, b, c): he = a + b + c return he he = sum(5, 1, 4) print(he) # 4、写一个函数,求三个数的平均值。(调用上面的函数) def pro(a, b, c): sum(a, b, c) ping = sum(a, b, c) / 3 print(ping) pro(5, 2, 5)
十四、全局变量和局部变量
全局变量和局部变量 print("") # 局部变量 ''' def test1(): a = 300 # 局部变量 print("test1---修改前:a=%d" % a) a = 100 print("test1---修改后:a=%d" % a) def test2(): a = 521 print("test1---修改后:a=%d" % a) test1() test1() ''' # 全局变量 ''' a = 100 # 全局变量 def test1(): print(a) def test2(): print( a) test1() test1() ''' # 全局变量和局部变量相同名字 ''' a = 100 def test1(): a = 300 # 局部变量优先使用,没有局部使用全局 print("test1---修改前:a=%d" % a) a = 200 print("test1---修改后:a=%d" % a) def test2(): print("test2---修改后:a=%d" % a) test1() test2() ''' # 在函数中修改全局变量 a = 100 def test1(): global a # 声明全局变量在函数中的标识符, 调用全局变量在函数中的使用 print("test1---修改前:a=%d" % a) a = 200 print("test1---修改后:a=%d" % a) def test2(): print("test2---修改后:a=%d" % a) # 没有局部变量,你默认使用全局变量 test1() test2()
十五、文件
print("文件") # 文件 # w 写模式 ''' f = open("test.txt", "w") # 打开文件 w模式(写模式)如果文件不存在,就会新创一个文件 f.write("hello world,I'm here") f.close() # 关闭文件 ''' # read方法,读取指定的字符,开始时定位在文件头部,每执行一次向后移动指定字符数 ''' f = open("test.txt","r") content = f.read(5) print(content) content = f.read(5) print(content) f.close() ''' ''' f = open("test.txt", "r") content = f.readlines() # 一次性读取全部文件,全部放在内存里成为列表,每行一个字符串元素,一个文档全部读完 print(content) i = 1 # 行号 for temp in content: print("%d:%s" % (i, temp)) i +=1 f.close() ''' ''' f = open("test.txt", "r") content = f.readline() print("1:%s" % content, end="") content = f.readline() print("2:%s" % content) f.close() ''' # 文件的相关操作 import os # 文件的重名名 os.rename("test.txt", "name.txt")
十六、 错误与异常
import time print("") # 错误与异常 # 发生异常 ''' print("-----text-----1---") f = open("123.txt", "r") # 用只读打开了一个不存在的文件,报错 print("-----text-----2---") ''' # 捕获异常 ''' try: print("-----text-----1---") f = open("123.txt", "r") # 用只读打开了一个不存在的文件,报错 print("-----text-----2---") except IOError: # 文件没找到,属于IO异常(输入输出异常) pass # 捕获异常后执行的代码 ''' ''' try: print("-----text-----1---") f = open("123.txt", "r") # print("-----text-----2---") print(num) except (NameError,IOError): # 将可能产生的所有异常类型,都放到下面的小括号中 print("产生错误") ''' # 获取错误描述 ''' try: print("-----text-----1---") f = open("123.txt", "r") # print("-----text-----2---") print(num) except (NameError,IOError) as result: # 将可能产生的所有异常类型,都放到下面的小括号中 print("产生错误") print(result) ''' # 捕获所有的异常 ''' try: print("-----text-----1---") f = open("name.txt", "r") # print("-----text-----2---") print(num) except Exception as result: # Exception可以承接任何异常,它是所有异常的父类 print("产生错误") print(result) ''' # try …… finally 和嵌套 try: f = open("name.txt", "r") try: while True: content = f.readline() if len(content) == 0: break time.sleep(1) print(content) finally: f.close() print("文件关闭") except Exception as result: print("发生异常……")
十七、爬
# 一个主函数 def main(): print("主函数") # 四、开始爬 # 二、指定网页规则 # 三、数据保存的地方 # 一、先要有入口 if __name__ == "__main__": main()
flask_demo
D:\xuexiruanjian\python\daima\baocun
课堂练习: 剪刀石头布,布刀剪头石
综合使用if语句相关的知识,实现石头剪刀布游戏效果,显示以下提示信息:
请输入:剪刀(0)、石头(1)、布(2):
用户输入数字0-2中的一个数字,与系统随机生成的数字进行比较后给出结果信息。 例如:输入0后,显示如下
你的输入为:剪刀(0) 随机生成的数字为:石头(1) 哈哈,你输了!:)
提示:对于输入不正常的情况尽可能考虑全面,促使程序能够正常运行。、 建议用时15~20分钟
剪刀石头布
import random x = random.randint(0, 2) a = int(input("输入剪刀石头布(0~2的数字:剪刀(0)、石头(1)、布(2)):")) if 0 <= a <= 3: if a == 0 and x == 0: print("你输入的是:剪刀(0)", a) print("随机生成的是:剪刀(0)", x) print("平局了!哈哈哈") elif a == 0 and x == 1: print("你输入的是:剪刀(0)", a) print("随机生成的是:石头(1)", x) print("你输了!牛啊!牛啊!") elif a == 0 and x == 2: print("你输入的是:剪刀(0)", a) print("随机生成的是:布(2)", x) print("你赢了!恭喜恭喜!!") elif a == 1 and x == 0: print("你输入的是:石头(1)", a) print("随机生成的是:剪刀(0)", x) print("你赢了!恭喜恭喜!!") elif a == 1 and x == 1: print("你输入的是:石头(1)", a) print("随机生成的是:石头(1)", x) print("平局了!哈哈哈") elif a == 1 and x == 2: print("你输入的是:石头(1)", a) print("随机生成的是:布(2)", x) print("你输了!牛啊!牛啊!") elif a == 2 and x == 0: print("你输入的是:布(2)", a) print("随机生成的是:剪刀(0)", x) print("你输了!牛啊!牛啊!") elif a == 2 and x == 1: print("你输入的是:布(2)", a) print("随机生成的是:石头(1)", x) print("你赢了!恭喜恭喜!!") elif a == 2 and x == 2: print("你输入的是:布(2)", a) print("随机生成的是:布(2)", x) print("平局了!哈哈哈") else: print("怎么回事!") else: print("你输入的数不是剪刀,石头,布。请重新输入!!:", a) print("end")
打印九九乘法表
for i in range(1, 10, 1): print(end="\n") for j in range(10-i, 10, 1): print("%d*%d=%d" % (i, j, i * j), end="\t") 用while循环 输出一个九九乘法表: 方法一: i = 1 while i < 10: k = 1 while k <= i: print('%d*%d=%2d '% (i,k,i*k),end='') #end=‘’ 表示不换行(系统默认输出完毕换行) k += 1 print() i += 1 方法二: a = 9 while a > 0: i = 1 while i <= a: print('%d * %d = %2d '%(a,i,a*i),end= '') i += 1 print() a -= 1
字符串拓展
str = "chengdu" print(str) print(str[0]) print(str[0:5]) # 从1开始 一共五个 print(str[5]) # 从0开始 第六个 print(str[0:6]) # 从1开始 一共六个 print(str[6]) # 从0开始 第七个 print(str[1:8:2]) # [起始位置:结束位置:步进值] (c)h(e)n(g)d(u) 从1开始 print(str[5:]) # 从第五个开始,显示后面的 从1开始 print(str[:5]) # 从第五个结束,显示前面的 从1开始
应用练习
一个学校,有3个办公室,现在有8位老师等待工位的分配,请编写程序,完成随机的分配
import random offices = [[], [], []] names = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'] for name in names: index = random.randint(0, 2) offices[index].append(name) i = 1 for tempNames in offices: print('办公室%d的人数为:%d' % (i, len(tempNames))) i += 1 for name in tempNames: print("%s" % name, end='\t') print("\n") print("-"*20)
数据类型 | 是否有序 | 是否可变类型 |
---|---|---|
列表[ ] | 有序 | 可变类型 |
元组( ) | 有序 | 不可变类型 |
字典{ } | 无序 | key不可变 value可变 |
集合{ } | 无序 | 可变类型(不重复) |
核心数据类型
字典
# 核心数据类型-- 字典(dict) 也是数据结构(要对增删改查有了解) print("字典!") # 使用键值对(key-value)存储 键(key)必须是唯一的 # 字典的定义 info = {"name": "吴彦祖", "age": 666} # 字典的访问 print(info["name"]) print(info["age"]) # 访问了不存在的键 # print(info["gender"]) # 直接访问会保错 # print(info.get("gender")) # 使用 get方法 - 若没有找到对应的键 -默认返回none print(info.get("gender", "m")) # 没找到的时候 可以设定默认值 print(info.get("age", "666")) # 找到的话,直接输出 # 增 info = {"name": "吴彦祖", "age": 666} newID = input("请输入新增的学号") info["id"] = newID print(info["id"]) # 删除(del) info = {"name": "吴彦祖", "age": 666} print("删除前:%s" % info["name"]) del info["name"] # 删除的是整个键值对的内容 # print("删除后:%s" % info["name"]) # 删除了指定的键值对后,再次访问会报错 info = {"name": "吴彦祖", "age": 666} print("删除前:%s" % info) del info # 清除(clear) info = {"name": "吴彦祖", "age": 666} print("删除前:%s" % info) info.clear() print("删除后:%s" % info) # 改 info = {"name": "吴彦祖", "age": 666} print("更改前:%s" % info["age"]) info["age"] = 555 print("更改前:%s" % info["age"]) # 查 (遍历) info = {"id": 1, "name": "吴彦祖", "age": 666} print(info.keys()) # 得到所有的键(列表形式) print(info.values()) # 得到所有的值(列表形式) print(info.items()) # 得到所有的项(列表形式,一对一对的) # 遍历所有的键 for key in info.keys(): print(key) # 遍历所有的值 for value in info.values(): print(value) # 遍历所有的键值对 for key, value in info.items(): print("key=%s,value=%s" % (key, value)) # 使用枚举函数 ,同时拿到列表中的下标和元素内容 mylist = ["a", "b", "c", "d"] for i, x in enumerate(mylist): # 打印下标 print(i, x)
课堂练习
print("函数") ''' 1、写一个打印一条横线的函数。(提示:横线是由若干个"-"组成) 2、写一个函数,可以通过输入的参数,打印出自定义行数的横线。(提示:点用上面的函数) 3、写一个函数,求三个数的和 4、写一个函数,求三个数的平均值。(调用上面的函数) ''' # 1、写一个打印一条横线的函数。(提示:横线是由若干个"-"组成) def heng(): print("-" * 15) heng() # 2、写一个函数,可以通过输入的参数,打印出自定义行数的横线。(提示:点用上面的函数) def xian(): hang = int(input("想要打印的行数:")) i = 0 while i < hang: heng() i += 1 xian() # 3、写一个函数,求三个数的和 #我的: def sum(): a = int(input("输入整数a:")) b = int(input("输入整数b:")) c = int(input("输入整数c:")) he = a + b + c print(he) # sum() # 要有返回值, def sum(a, b, c): he = a + b + c return he print(sum(5, 1, 4)) 4、写一个函数,求三个数的平均值。(调用上面的函数) def pro(a, b, c): sum(a, b, c) ping = sum(a, b, c) / 3 print(ping) pro(5, 2, 5)
爬虫初识
# import bs4 # 网页解析,获取数据 from bs4 import BeautifulSoup # 网页解析,获取数据 import re # 正则表达式,进行文字匹配 import urllib.request, urllib.error # 制定URL 获取网页数据 import xlwt # 进行Excel的操作 import sqlite3 # 进行SQLite数据库操作 # 可以进入cmd的python pip bs4 在线下载 print("爬虫的任务介绍,爬虫初识") # 天眼查 查公司,老板 # https://movie.douban.com/top250 ?start = 25 从25后开始显示 # 豆瓣 def main(): print("hello!") if __name__ == "__main__": # 当程序执行时,作为整个程序的入口 # 调用函数 main()