学习python-Day07
2022/6/22 1:19:53
本文主要是介绍学习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("你是黑名单不能进入!!!")
这篇关于学习python-Day07的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程