学习python-Day07
作者:互联网
昨日内容大概
-
数据类型(剩下5个)
-
数据类型之
列表
(list)-
用
中括号
,中括号能够存储多个数据,方便数据值的获取,且数据间用逗号隔开,数据值为任意的数据类型。 -
索引取值
:通常情况下是从0开始数,生活中我们是以1开始数。索引超出范围会报错。因为在取索引的时候列表里面没有元素了或者不够,那这样自然取不出来了,会报告说超出界限。
-
-
数据类型之
字典
(dict)-
用
大括号
,大括号内能够存储多个数据,数据值的表现形式是K:V键值对。 -
K是对V数据具有描述性性质的信息。
V是具体真实的数据值信息,V可以为任意的数据类型。
-
按K取值
:因为字典是无序性,所以不支持用索引取值。而是用按K取值。如果K不存在,则会报错!!!就是说字典中没有“K”这个信息,则会出错。
-
-
数据类型之
布尔值
(bool)-
判断事物的可行性
-
有两种状态:True
False
-
命名规律:以is开头 eg:is_right
isleft
-
在实际项目中数据库存储数据的特征,用一个字段来表示数据是否删除。
-
-
数据类型之
元组
(tuple)-
被称为不可改变的列表,用
小括号
包含多个数据,eg:list1 =[1, 2, 3]
tuple1 = [1, 2, 3]
list1[0] = 'w' # 打印出[w, 2, 3]
tuple[0] = 'w' # 打印会出错。
-
-
数据类型之
集合
(set)-
用
大括号
包含数据值,符号和字典一样,但是内部构造不一样。 -
对于定义空集合是不一样的
-
不能直接
s = { }
这样显示的数据类型是字典(dict)型
-
需要加个关键字
set
s = set( )
这样出来的数据类型是集合。
-
-
-
-
与用户交互
-
输入
:外界向计算机传递信息。-
name = input( "输入信息:")
-
input获取用户输入的值的数据类型都是字符串型(str)
所有数据需要强制的转换数据类型。
eg:num = input("输入数字:")
num = 123
num = int(num)
-
-
输出
:计算机向外界传达信息。- 可一次性打印内部多个数据值。
- 指定参数 end='\r\n #
换行符
-
-
格式化输出
-
提前准备好一些文本,之后格式化输出并替换其中一些内容。
-
%s
:能够给所有数据类型占位。'name %s' % 'xx'
'name: %s,age:%s'%('xx',12)
'name:%s'%('xx', )
-
%d
:只能给数字占位。产生固定位数的数据:
eg:print('%05d',23) #00023
固定规定为5位数,不够需在前面补0
-
-
运算符
- 算数运算符
- 比较运算符
-
赋值符
-
链式赋值
x = y = z
-
交叉赋值
-
方式一:中间变量
-
方式二:n, m = m, n
-
-
解压赋值
- 符号左边至少有两个以上的名字
- 必须保证左边的名字和右边的数据值个数一样
- 特殊情况下,可以用*,当解压的数据多时会自动讲多余的数据值赋值给后面变量名。
-
今日内容大概
-
运算符(补充剩下3种)
-
逻辑运算
-
成员运算
-
身份运算
-
-
流程控制理论
-
流程控制详细语法
- 顺序结构
- 分支结构
- 循环结构
今日内容详细
运算符
-
逻辑运算符
1.and 与 or或 not非 上述运算符需要配合条件使用。 and链接的多个条件必须都成立才能成立(True) or链接的多个条件有一个成立就成立(True) not 条件取反 2.操作方法: 1 == 1 and 2 > 10 and 3!=6 如果所有连接符都是and,则需要找出一个不符合要求,判断错误的条件就能判断结果不成立。 1 != 1 or 2==2 or False 如果所有连接符都是or,则需要找出一个符合要求条件,判断正确的条件就能判断结果成立。 not False = True not True = False 3.三者混合使用,需要加个括号来表示优先级,不然会出错。
-
成员运算符
1.in 在...之内 如果在指定的序列中找到值返回 True,否则返回 False。 not in 不在...之内 如果在指定的序列中没有找到值返回 True,否则返回 False。 2.操作方法: l1 = ['wyb', 'xz', 'bjyx'] 判断列表的某个个体是否在成员名单中: print('wyb' in l1) # True print('xx' in l1 ) # False 列表在做成员运算的时候最小单位为数据值的整体,不能拆分合并。 s1 = 'hello,world!' print('h' in s1) # True 字符串在做成员运算的社会化最小单位为单个字符,可以增加字符的个数。 d1 = {'name':'xx','pwd':123} print('xx' in d1) # Flalse print(123 in d1) # False print('name' in d1) # True 字典在做成员运算的时候只有K会参与运算,V不能暴露在外界。
-
身份运算符
1.is 判断数据值的内存地址是否一致 2.== 判断数据值的值是否一致 3.id() 该方法会返回一串数字,相当于内存地址 4.操作方法: l1 = [1111,222,22] l2 = [1111,222,22] #2129114809216 print(id(l1))#2129114810176 print(id(l2))#2129114809216 print(l1 == l2) # True 判断值 print(l1 is l2) # False 判断内存地址 综上可知:值相等,但是内存地址可能不同, 因为,cpu每次向内存申请位置都是随机的。 内存地址相等,则值就相等(对于单次程序中) 5.python具有内存优化功能。 python对于数据量比较小的或者经常使用的数据就会做内存优化 '''小整数池''' 还有一些IDE编辑工作也会做更多的优化处理 (上述代码使用解释器直接运行,地址不一样的)
流程控制理论
流程控制的概念 :
'''事物执行的流程'''
1.顺序结构
从上到下依次执行,,程序在一般情况下是按顺序执行的。
2.分支结构
根据条件的不同执行不同代码。
3.循环结构
根据条件的判断决定是否一直执行操作。
注意事项:
1.python中使用代码的缩进来表示代码的从属关系
缩进的代码是否运行取决于上面有没有父代码(结尾有冒号)
2.缩进量其实没有要求,只要缩进了即可。#为了美观,一般推荐使用空四格
3.并不是所有的代码都可以拥有子代码
if else elif 中,elif和else不能单独使用需要和if一起使用才行。
且 if else elif 都在同一层次。
4.同属于一个父代码的多行子代码应该保证相同的缩进量
如果代码缩进了,那就必须往上找一个缩进量比它小的代码作为父代码
如果这个父代码可以拥有子代码的权限,则不会报错。
5.相同缩进的代码间没有主次之分,都是按照顺序依次执行。
流程控制之分支结构
python中如果想要编写分支结构
,那么需要使用关键字if
1.单if分支
if 条件 :
(条件成立执行代码---子代码)
#条件可以是布尔值也可以是表达式。
#条件可以是一个,也可以是由多个逻辑运算符链接的条件。
操作方法:
一般模式:
#定义女人的年龄
age = 29
#判断女人的年龄
if age < 30:
print('你好!')
嵌套:
#定义女人的年龄
age = 29
#判断女人的年龄
if age < 30:
print('你好!')
if True :
print('come on!')
2.if...else分支
if 条件:
(条件成立之后执行---子代码)
else:
(条件不成立执行----子代码)
#条件可以是一个,也可以是由多个逻辑运算符链接的条件。
eg:
#获取用户名和密码
name = input('name>>>:')
qwd = input('pwd>>>:')
#判断用户名和密码是否正确
if name == 'xz' and pwd == 123 #python中不同的数据类型之间无法直接做比较。
'''所以这里需要强制类型转换,因为input输入的数据值类型都是字符串类型,所以我们需要转换一下。'''
pwd = int(pwd)
if name == 'wyb' and pwd == '123':
print("请!")
ealse:
print("zou!")
3.if...elif...else分支
if 条件1:
(条件1成立执行---子代码)
elif 条件2:
(条件1成立执行---子代码)
elif 条件3:
(条件2成立执行---子代码)
elif:
(上述所有的条件都不成立执行的代码)
'''if elif else 三者连用,永远只会走一个分支
elif 和 else都是不能单独使用 必须结合if '''
4.if的嵌套使用
#1.先定义各种条件
is_see = True
is_work = True
is_go = True
#2.条件判断
if is_see:
print("看到了")
if is_work:
print("做到了")
if is_go:
print("离开了")
else:
print("没离开")
else:
print("没做到")
else:
print("没看到")
作业02
1.女人的年龄>=18并且<22岁并且身高>170并且体重<100并且是漂亮的,那么:表白,否则:你好,再见!
#定义年龄、身高、体重
age = input('Please enter your age >>> :')
height = input('Please enter your height >>> :')
weight = input('Please enter your weight >>> :')
#强制类型转换
age = int(age)
height = int(height)
weight = int(weight)
#条件判断,if的嵌套使用
if age >= 18:
if age < 22:
if height > 170:
if weight < 100:
print("小姐姐,你好漂亮!")
else:
print("你好,再见!")
else:
print("你好,再见!")
else:
print("你好,再见!")
else:
print("你好,再见!")
2.根据用户输入内容打印其权限
#定义用户名
name = input("Please enter your user name >>>:")
#if...elif...else 分支
if name == 'jason' :
print("You are the super administrator !")
elif name == 'tom':
print("You are the general administrator")
elif name == 'jack' or 'rain':
print("You are the business director")
else:
print("You're a regular user")
3.编写用户登录程序
要求:有用户黑名单 如果用户名在黑名单内 则拒绝登录
eg:black_user_list = ['jason','kevin','tony']
如果用户名是黑名单以外的用户则允许登录(判断用户名和密码>>>:自定义)
eg: oscar 123
#定义用户名和密码,黑名单
black_user_list = ['jason', 'kevin', 'tony']
name = input("Please enter your user name: ")
qwq = input("Please enter your password: ")
qwq = int(qwq)
#判断用户输入的用户名是不是在黑名单内。
if name not in black_user_list:
#再判断输入的用户名是不是已有的用户名
if name == 'xz':
if qwq == 123:
print("登入成功!!!")
else:
print("密码错误!!!")
else:
print("用户名或者密码有错!!!")
else:
print("你是黑名单不能进入!!!")
标签:name,python,数据类型,代码,Day07,else,学习,print,True 来源: https://www.cnblogs.com/bjyxxc/p/16398342.html