day06
Posted 一博女孩
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了day06相关的知识,希望对你有一定的参考价值。
昨日内容回顾
-
成员运算
in 在 not in 不在
-
身份运算
== 值 is 地址 """ 值相等,内存地址不一定相等 内存地址相等,值一定相等 """
-
流程控制
顺序结构: 从上到下,从左到右依次进行 分支结构:if判断 循环结构:while循环、for循环 """ 代码的缩进 在python通过缩进来表示代码的从属关系 缩进一般采用四个空格 并不是所有的代码都可以拥有子代码 同属一个关键字的代码一定要保持相同的缩进量 ps:遇到冒号 下一行代码必须缩进 """ if判断 """ if 条件1: 代码1 代码2 ... elif 条件2: 代码1 代码2 ... else: 代码1 代码2 ... """ 1.组合使用之后就只能走一个关键字的子代码(你走我不走,我走你们都别走) 2.条件可以是逻辑运算符连接的多个条件 ps:while嵌套 while+break 结束本层循环 while+continue 结束本次循环 while+else 在while没有被break主动打断的情况下正常运行结束 则会走else for循环 """ for 变量名 in 可迭代对象: 字符串 列表 字典 元组... 代码1 代码2 ... """ 补充小知识:可迭代对象 我们已经知道可以对list、tuple、dict、set、str等类型的数据使用for...in...的循环语法从其中依次拿到数据进行使用,我们把这样的过程称为遍历,也叫迭代。 把可以通过for...in...这类语句迭代读取一条数据供我们使用的对象称之为可迭代对象(Iterable)。 在Python中,迭代可通过for ... in来完成,例如列表的迭代: for num in [11, 22 , 33]: ... print(num) ... 11 22 33 1.range() range(10) 只写一个数字则 从0开始 range(1,10) 写两个则顾头不顾尾 range(1,10,2) 第三个参数表示间隔几位 https://movie.douban.com/top250?start=0&filter= https://movie.douban.com/top250?start=25&filter= https://movie.douban.com/top250?start=50&filter= https://movie.douban.com/top250?start=75&filter= for i in range(0,255,25): print(\'https://movie.douban.com/top250?start=%s&filter=\'%i) # 注意python2与python3的区别 range() xrange() ps:for嵌套 for+break 结束本层循环 for+continue 结束本次循环 for+else 在for没有被主动打断的情况下正常运行结束 则会走else
今日内容概要
- 作业讲解
- 数据类型
整型与浮点型
字符串
列表
-
可变类型与不可变类型
今日内容讲解
作业讲解
""" 编写程序的思路: 先编写程序的主体功能 然后在思考完善 """ #猜年龄 age = 18 count = 0 #定义一个记录用户次数的变量 while True: if count == 3: #先判断用户当前是第几次尝试,如果已经尝试三次,则提示用户 print(\'你已经尝试三次了\') choice = input(\'您已经尝试三次机会了,是否还要继续(y/n)>>>:\') if choice == \'y\': #判断用户是否还要继续 count = 0 else: print(\'欢迎下次再来玩儿哟~\') break guess_age = input(\'请输入您的年龄>>>:\') guess_age = int(guess_age) #将字符串的数字转为整型的数字 if guess_age > age: print(\'猜大了\') count += 1 #加一次 elif guess_age < age: print(\'猜小了\') count += 1 #加一次 else: print(\'对了喔,真棒!\')
整型与浮点型
# 整型基本使用 # 1、用途 # 年龄 生日 整数类型 # 2、定义方式 age = 18 # age = int(18) # 3、类型转换 # int() 将括号内的数据转成整型 # print(int(123)) # print(int(\'123\')) # print(int(\'[1,2,3,4]\')) # print(int(\'hello world\')) # print(int(\'11.11\')) # 待转换的数据内部只能是纯数字 # 4、进制转换 # print(bin(100)) # 将十进制的100转换成二进制对应的数 0b1100100 # print(oct(100)) # 将十进制的100转换成八进制对应的数 0o144 # print(hex(100)) # 将十进制的100转换成十六进制对应的数 0x64 """ 0b开头表示二进制数 0o开头表示八进制数 0x开头表示十六进制数 """ # print(int(\'0b1100100\',2)) # 100 # print(int(\'0o144\',8)) # 100 # print(int(\'0x64\',16)) # 100 # 浮点型 # 身高 体重 薪资... height = 183.1 # height = float(183.1) print(float(183.1)) print(float(\'183.1\')) # print(float(\'hello world\')) print(float(183)) # 183.0 print(int(11.11)) # 11 print(int(\'11.11\'))
字符串类型
# 作用:名字,性别,国籍,地址等描述信息 # 定义:在单引号\\双引号\\三引号内,由一串字符组成 name = \'hello world!\' # 优先掌握的操作: # 1、按索引取值(正向取+反向取) :只能取 \'\'\'索引是从0开始的\'\'\' # print(name[0]) # print(name[-1]) # -1表示最有一个元素 # print(name[8]) # print(name[-4]) # 正数表示从左往右 负数从右往左 # 2、切片(顾头不顾尾,步长) \'\'\'截取某一段内容\'\'\' # print(name[1:4]) # 1 2 3 顾头不顾尾 # print(name[-1:-5:-1]) # 默认的切片方向都是从左往右 -1修改成从右往左 !dlr # print(name[1:4:2]) # 第三个参数表示步长 el # 3、长度len \'\'\'统计字符串里面的字符个数\'\'\' # print(len(name)) # 12 空格也算字符 # 4、成员运算in和not in # print(\'hello\' in name) # print(\'jason\' not in name) # 5、移除指定的首尾字符strip(******) # username = input(\'username>>>:\') # \'jason \' # # 将首尾空格移除 # username = username.strip() # 两步合并成一步 # username = input(\'username>>>:\').strip() # if username == \'jason\': # print(\'登录成功\') # else: # print(\'登录失败\') # username1 = \'$$j$s$o$n$$\' # username2 = \' jason \' # print(username1.strip(\'$\')) # 移除指定首、尾的所有字符 # print(username2.strip()) # 默认移除首、尾的所有空格 # n1 = \'$$jason$$\' # # 移除首指定的字符 # print(n1.lstrip(\'$\')) # jason$$ left # # 移除尾指定的字符 # print(n1.rstrip(\'$\')) # $$jason right # 6、切分split(******) \'\'\'按照指定g字符串\'\'\' res = \'jason|123|read\' # print(res.split(\'|\')) # [\'jason\', \'123\', \'read\'] # # 1.指定切割的字符不保留 # # 2.切割之后的结构是一个列表(重要) res.split(\'|\', maxsplit=1) # [\'jason\', \'123|read\'] 从左往右切割指定的次数 print(res) # print(res.rsplit(\'|\',maxsplit=1)) # [\'jason|123\', \'read\'] 从右往左切割指定的次数 # 7、循环 # for i in name: # print(i) # 依次获取字符串中单个单个的字符 # name1 = \'jason\' # str(\'jason\') # print(type(str(18))) # print(type(str(11.11))) # print(type(str(\'hello\'))) # print(type(str([1,2,3,4]))) # print(type(str({\'name\':\'jason\'}))) # print(type(str(True))) # res = \'My NAmE Is JASon 666\' # 将所有的英文字母转成大写 # print(res.upper()) # MY NAME IS JASON 666 # 将所有的英文字母转成小写 # print(res.lower()) # my name is jason 666 """图片验证码校验 忽略大小写""" # code = \'NaRTs6\' # my_code = input(\'code>>>:\') # if code.upper() == my_code.upper(): # print(\'验证码正确\') # print(res.isupper()) # False 字符串内部所有的英文字母是否是全大写 # print(res.islower()) # False 字符串内部所有的英文字母是否是全小写 # res = \'jason egon kevin tony\' # 判断字符串是否以jason开头 # print(res.startswith(\'jason\')) # True # 判断字符串是否以tony结尾 # print(res.endswith(\'tony\')) # True # 字符串格式化输出 # %s %d # format # 第一种 与%s一致 按照个数位置 一一传值 # res = \'my name is {} my age is {}\' # print(res.format(\'jason\',18)) # 第二种 按照索引取值 可以反复使用 # res = \'my name is {0} my age is {1} {0} {0} {0}\' # print(res.format(\'jason\',18)) # 第三种 指名道姓取值 可以反复使用 # res = \'my name is {name} my age is {age} {name} {name} {name}\' # print(res.format(name=\'jason\',age=18)) # res = \'jason a a a a sdf se sdf we ras dsa dw e asdsa dwqd sadsa dsadas\' # # 统计字符串中 指定字符出现的个数 # print(res.count(\'a\')) # 13 # print(res.count(\'a\', 1, 10)) # 3 指定范围统计 # res = \'my name is jason HAJHSSAJJ SAJS \' # print(res.title()) # 将所有英文单词首字母大写 # print(res.capitalize()) # 首字母大写 后面统一变小写 # res = \'sdewqe圣诞节卡萨\' # print(res.isalpha()) # 判断非数字 特殊符号 # 判断是否是纯数字 # guess_age = input(\'请输入您的年龄>>>:\') # # 判断用户输入的是否是纯数字 # if guess_age.isdigit(): # # 将字符串的数字转为整型的数字 # guess_age = int(guess_age) # 暂且忽略 # else: # print(\'请输入纯数字\') # 替换 # res = \'my name is egon egon egon\' # 将字符串中所有的egon替换成SB # print(res.replace(\'egon\',\'SB\')) # 全局替换 # print(res.replace(\'egon\',\'SB\',1)) # 局部替换 # 将列表多个元素拼接成字符串 # res = [\'jason\',\'egon\',\'kevin\',\'tony\'] # res1 = [\'jason\',\'egon\',\'kevin\',\'tony\',123] # # print(\'|\'.join(res)) # jason|egon|kevin|tony # print(\'|\'.join(res1)) # 只能是字符串类型拼接
列表内置方法
# 中括号括起来 内存可以存放多个元素 # 元素与元素之间逗号隔开 元素可以是任意数据类型 name_list = [\'jason\', \'egon\', \'tony\'] # name_list = list([\'jason\', \'egon\', \'tony\']) # print(type(list(18))) # 不能 # print(type(list(11.11))) # 不能 # print(type(list(\'hello\')),list(\'hello\')) # 可以 [\'h\', \'e\', \'l\', \'l\', \'o\'] # print(type(list([1,2,3,4]))) # print(type(list({\'name\':\'jason\'})),list({\'name\':\'jason\'})) # 可以 [\'name\'] # print(type(list(True))) # 不能 \'\'\'能够支持for循环的数据 都能够被list转换成列表\'\'\' # 1.索引取值 # print(name_list[0]) # print(name_list[-1]) # 2.切片操作 # print(name_list[0:2]) # print(name_list[0:2:2]) # print(name_list[-1:-3:-1]) # 3.统计列表中元素的个数 # print(len(name_list)) # 3 列表元素的CURD(增删改查): 增: append:默认添加到列表的最后一个位置 inset:可以通过下标添加到列表的任意位置 删: remove:根据想删除的具体内容来删除元素 pop:根据下表元素,删除的元素还可以继续使用 del:根据元素内容删除元素(可以删除任意对象,比如直接删除列表) 改: a[1]=\'例子\' : 直接通过下标对列表进行重新赋值达到修改元素的目的 查: 切片 [] print(a[1:])#取到最后 print(a[1:-1])#取到倒数第二值 print(a[1:-1:1])#从左到右一个一个去取 print(a[1::2])#从左到右隔一个去取 print(a[3::-1])从右到左(-1控制方向) # name_list[1] = \'egon快回来!\' # print(name_list) # 末尾追加单个元素 # name_list.append(\'kevin\') # print(name_list) # [\'jason\', \'egon\', \'tony\', \'kevin\'] # name_list.append([11,22,33,44]) # [\'jason\', \'egon\', \'tony\', [11, 22, 33, 44]] # print(name_list) # 插入元素 # name_list.insert(0,\'jack\') # print(name_list) # [\'jack\', \'jason\', \'egon\', \'tony\'] # 扩展列表 # l1 = [11,22,33,44,55,66,77] # # for i in l1: # # name_list.append(i) # # print(name_list) # name_list.extend(l1) # extend等价于for+append # print(name_list) # [\'jason\', \'egon\', \'tony\', 11, 22, 33, 44, 55, 66, 77] # 通用的删除操作 # del name_list[1] # print(name_list) # [\'jason\', \'tony\'] # res1 = name_list.remove(\'tony\') # 指名道姓的删除 # print(name_list) # [\'jason\', \'egon\'] # print(res1) # None # res = name_list.pop() # 默认尾部弹出元素 # print(name_list) # [\'jason\', \'egon\'] # print(res) # res = name_list.pop(1) # 默认指定索引位置的元素 # print(name_list) # [\'jason\', \'tony\'] # print(res) # egon # l1 = [11,22,33,3,3,3,2,3,23,4,34,3,4,3,4] # print(l1.count(3)) # 6 统计列表中某个元素出现的次数 # name_list.clear() # 清空列表 # print(name_list) # [] l2 = [11,88,22,44,33,77,66,55] # # l2.sort() # 排序 默认是升序 # # print(l2) # [11, 22, 33, 44, 55, 66, 77, 88] # l2.sort(reverse=True) # reverse=True 降序 # print(l2) # [88, 77, 66, 55, 44, 33, 22, 11] # l2.reverse() # 倒序 # print(l2)
可变不可变
""" 可变类型 值改变 内存地址不变 不可变类型 值改变 内存地址一定变 """ # 不可变类型 # a = 1 # print(id(a)) # 140736875403024 # a = 2 # print(id(a)) # 140736875403024 # 可变类型 l1 = [11,22] print(id(l1)) # l1.append(666) print(id(l1)) # 2133952624128
以上是关于day06的主要内容,如果未能解决你的问题,请参考以下文章