今日考题
1.列举python所有基本数据(包括名称,关键字,主要特征)

整型 int # 就是整数  123这种
浮点型 float # 小数 1.23这种’
字符串 str  # 描述性的文字居多  上海 这种
列表 list # name = [1,2,3]  中括号
字典 dict # user = {'name' = 'leo'}  大括号 里面内容用K:V键值对
元组(小列表)  tuple #  name = (1,2,3]) 小括号 里面内容不能由别的代码修改
集合 set # name = {1,2,3}  大括号 里面内容无需不重复
布尔值 bool # True  False 只有两种状态,判断是非对错用

2.什么是格式化输出,python中如何实现

通过使用  %s  占位符实现
比如:
 info = my name is %s. l'm %s years old.
  username = input('您的名字')
  age = input('您的年龄')
    print (info %s('leo',18))

3.列举你所知道的各种运算符

#计算用
	+  -  *  /  **(次方)  //(整除)
#增量赋值
x = 1
x = x + 1
等价于  x += 1
#链式赋值
x = 1
y = x
z = x
等价于: x = y = z = 1
#交叉赋值
x = 1
y = 2  """现在要将两者数据对调"""
x , y = y , x 
#解压赋值
something = [ 1, 2, 3]
a = something[0]
b = something[1]
c = something[2]
等价于: 
  a , b , c = something
昨日内容回顾
  • 列表
"""
中括号 内部可任意存放元素
元素与元素逗号隔开  可以是任意数据类型
"""
list = [11, 22, 33, 'leo']
print(list[0]) #结果是 11
  • 字典

    """
    大括号  内部存多个元素
    逗号隔开  元素组织形式是K:V 一一对应的键值对
    K一般是字符串  V任意
    """
    dict = {
        'name' = 'leo',
        'age' = 18
    }
    print(dict['name'])
    
  • 布尔值

True
False
用来描述事物对错
是否可行  # 存布尔值的变量名一般用is开头
is_right = True
  • 元组
"""
小括号 内部可任意存放元素
元素与元素逗号隔开  可以是任意数据类型
元组内元素绑定关系不能被修改
"""
一定要掌握好内部本质的图例8/11博客
  • 集合

    """
    大括号  内部存多个元素
    逗号隔开  内部元素 无序不重复
    """
    
    
  • 和用户交互

input
	获取到的数据都是字符串类型
print 
	打印数据
  • 格式化输出
用占位符 %s  %d
  • 基本运算符
增量赋值
	x += 1  # x = x + 1
链式赋值
	x = y = z = 10  # x = 10 y = x z = x
解压赋值
	a,b,c = [11,22,33]
    a,*_,b = [1,2,3,4,5,6,7,8,9]
交叉赋值
	m,n = n,m 

鸡汤

一个人可以走的很快,一群人才能走的更远

选择有时候往往大于努力
今日内容概要
  • 逻辑运算符

  • 成员运算符

  • 身份运算符

  • 流程控制(重点 难点)

    if 判断
    
    while循环
    
    for循环
    
  • 数据类型的内置方法(重点)

今日内容详细

逻辑运算符

与  and 
	链接的多个条件必须满足结果才是True
    eg:年龄小于20 并且 臂围大于35 并且 体脂低于13
或  or
	链接的多个条件有一个满足即可是True
    eg:年龄小于20 或者 臂围大于35 或者体脂低于13
非  not
	与条件取反
    可以理解成是说反话eg:
    我超级开心  >>>  我很不开心
    
"""
上述三个关键字如果混合使用是存在优先级的  但是我们不要考虑优先级
在书写的时候应该通过括号强制规定优先级关系
eg: 先乘除后加减  打破顺序 就加括号
"""
print(1 > 2 and 4 > 1)  # False
and链接多个条件只要有一个False结果必False
print(False and 1 < 4 and 5 > 1 and 9 > 6 and 8 > 3 and 7 > 9)

print(1 > 2 or 4 > 1)  # True
or链接多个条件只要有一个是True结果必为True
print(False or 1 < 4 or 5 > 1 or 9 > 6 or 8 > 3 or 7 > 9)

print(not True)  # False

成员运算符

判断个体(局部)在不在某个群体(整体)内  in
 stu_list = ['leo', 'tom', 'kevin', 'nancy']
    guess_name = input('name')
    print(guess_name in stu_list)
 # 输入的名字如果在列表里就会输出True

8/12_缩进

身份运算

"""
如何查看变量值所在的内存地址
print(id())  返回一串数字
可以理解成内存的地址
"""
Python 3.6.7 (v3.6.7:6ec5cf24b7, Oct 20 2018, 13:35:33) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> name1 = '123456789987654321'
>>> name2 = '123456789987654321'
>>> id(name1)
2726097947792
>>> id(name2)
2726097947792
>>> n1 = 'leo ace nancy jason tony'
>>> n2 = 'leo ace nancy jason tony'
>>> id(n1)
2726096951296
>>> id(n2)
2726097969360
>>> n1==n2   # 判断两个变量的值是否相等
True  
>>> n1 is n2  # 判断两个变量绑定的内存地址是否相等
False
>>>
"""
两个变量值相等  那么内存地址不一定相等
两个变量内存地址相同   那么值肯定相等
"""

8/12_while循环_02

流程控制

流程控制就是控制执行的流程
	主要有三种
    1.顺序结构
    	从上往下依次执行(截至目前我们所写的代码都是顺序结构)
    2.分支结构
    	根据条件的不同执行不同的流程
    3.循环结构
    	根据条件循环往复的执行某一个过程
graph LR A-->B B --> C C -->D

8/12_学习_03

这样一步一步执行下来的就是顺序结构

graph LR A-->B B --> C C -->|a<1| D[结果1] C -->|a>=1| E E -->|a<10| F[结果2] E -->|a>10|G[结果3]

8/12_赋值_04

这类对于条件出现分叉的就是分支结构

st=>start: 开始框

op=>operation: 处理框

cond=>condition: 判断框(是或否?)

sub1=>subroutine: 子流程

io=>inputoutput: 输入输出框

e=>end: 结束框

st->op->cond

cond(yes)->io->e

cond(no)->sub1(right)->op

8/12_缩进_05

这种有向前返回重复的就是循环结构

必备知识

python中通过代码的缩进来表示代码的从属关系
如果上面的代码没有缩进下面的代码缩进了 那下面的代码就从属于上面的代码
  下面的代码是否运行要看上面的代码
    python中不是所有代码都可以拥有子代码
     可以拥有子代码的
        	if  如果
            else 否则
            
   属于同一个关键字的多行子代码必须要保持相同的说缩进量

ps:python中缩进一般推荐4个空格

小技巧当某一行代码结尾出现冒号':' 下面一行必缩进

分支结构

# 如果臂围大于40cm 叫pro
 arm_width = 41 
 if arm_width > 40 :
    print('pro')
"""
语法结构
if 条件:
	条件成立后执行的子代码
"""
# 如果如果臂围大于40cm 叫pro 否则叫bro
arm_width = 40
if arm_width > 40 :
    print('pro')
else :
    print('bro')
"""
if 条件:
	条件成立执行子代码
else 条件:
	条件不成立执行子代码
"""
# 如果:成绩>=90,那么:优秀
# 如果成绩>=80且<90,那么:良好
# 如果成绩>=70且<80,那么:普通
# 如果成绩>=60且<70,那么: 及格
# 如果成绩<60 那么: 挂科
score = 
if score >= 90 :
 print('A')
elif score >= 80 :
 print('B')
elif score >= 70 :
 print('C')
elif score >= 60 :
 print('D')
elif score < 60 :
 print('Fail')
'''
语法结构
	if 条件1:
	  条件一成立 执行
	elif 条件2:
	  条件1不成立条件2成立 执行
	elif 条件3:
	  条件1,2都不成立条件3成立 执行
	else :
	上述条件都不成立 执行
在同一个分支结构中elif可以有很多个,但是if和else只能有一个
if elif else 连用只有一个子程序会被执行
'''
# if 套嵌 如果臂围小于40叫bro  否则让大佬带我练
# 只会有成功和失败两种情况
is_success = True
arm_width = 41
if arm_width > 40 :
	print('大肌霸,带带我')
    if is_success:
        print('light weight!Baby!')
    else:
        print('Nobody trains harder than me!Nobody!')
else:
    print('一起用')

8/12_赋值_06

循环结构

while True :
    user_name = input('username>>>:')
    password = input('password>>>')
    print(user_name , password)
"""
语法结构
	while 条件:
		条件成立后执行的循环体代码
1.先判断条件是否成立  如果成立
2.执行while循环体代码 代码执行完毕后继续判断条件是否成立
3.如果还成立则继续执行while循环 执行完毕之后继续判断条件是否成立
4.重复2和3直至不成立为止
"""
# 利用while循环打印1——10
count = 1
while count < 11 :
    print(count)
    count +=1

# 利用while循环打印1——10 跳开7
count = 1
while count < 11 :
    if count == 7:  #判断count是否等于7 如果等于就不打印
        count +=1  # 虽然不打印 但是要加1不然返回去就一直卡在7
        continue  # 直接跳回循环体条件判断处
    print(count)
    count +=1

    
# 利用while循环打印1-10 但是到7之后直接结束循环
count = 1
while count < 11 :
    if count == 7 :
        break  # 结束本层的循环
    print(count)
    count +=1
"""
break 和 continue 只能影响所在层的while
"""
count = 1
while count < 11:  
    if count == 7:
        while True: # 是7 还要输入一个东西
            cmd = input('cmd>>>:')
            print(cmd) 
            if cmd == 'q': # 输入q结束对7的循环但是外面加1的循环还在继续
                break
    print(count)
    count += 1

8/12_缩进_07