今日内容概总结
-
运算符的补充
1.成员运算符
2.身份运算符
-
流程控制
if判断
while循环
for循环
运算符的补充
成员运算符
in
判断...在...内
eg.
>>>print('o' in 'hello world') # 字符串可用
True
>>>print('hello' in 'hello world')
True
>>>print('jason' in ['jason', 'egon', 'kevin']) # 列表
True
# 字典参与成员运算 只有key参加 value无法参与
>>>print('koala' in {'name': 'koala', 'age': 18})
False
>>>print('name' in {'name': 'koala', 'age': 18})
True
not in
判断...不在...内
eg.
>>>print('a' not in 'hello world') # 字符串可用
True
>>>print('hello' not in 'hello world')
False
>>>print('koala' not in ['jason', 'egon', 'kevin']) # 列表
True
# 同样的,字典参与成员运算 只有key参加 value无法参与
>>>print('koala' not in {'name': 'koala', 'age': 18})
True
>>>print('name' not in {'name': 'koala', 'age': 18})
False
身份运算符
== 仅判断值是否相等
is 判断内存地址是否相等(id)
eg.
>>>l1 = ['koala' , 'yugali']
>>>l2 = ['koala' , 'yugali']
>>>print(l1 == l2 , l1 is l2)
True False
值相等,内存地址不一定相等
内存地址相等,值一定相等
流程控制
前言
代码的三种运行结构:
-
顺序结构
代码自上而下依次运行
-
分支结构 (if 判断)
代码运行到某个节点之后根据条件的不同执行不同的代码
-
循环结构 (while循环、for循环)
代码运行到某个节点之后一直重复执行某一段代码直到结束
if 判断
三个关键字: if elif else
语法:
if 条件1 # 如果满足条件1,就依次运行代码1、代码2、...
代码1
代码2
...
elif 条件1 #如果不满足条件1,但满足条件2,就依次运行代码3、代码4、...
代码3
代码4
...
else # 其他情况就依次运行代码5、代码6、...
代码5
代码6
...
注意:
代码缩进:在python中使用缩进来表示代码的从属关系,一般情况下我们采取四个空格来表示缩进
被缩进的代码称之为子代码,不是所有的代码都可以拥有子代码
同属于一个关键字的子代码必须要保持相同的缩进量
遇到冒号:下面的代码必缩进
if 实例:
eg.1 单个条件
# 查成绩,如果成绩大于424,为pass,否则为fail
score = input('please input your score>>>' ) # 请用户输入分数
score = int(score) # 将用户输入的字符串类型定义为整型,才可以比大小
if score > 424 : # 条件
print('pass')
else :
print('fail')
>>>please input your score>>>445
>>>pass
eg.2 多个条件
''' 分数大于90 打印优秀
分数大于80 打印良好
分数大于70 打印一般
分数大于60 打印及格
分数小于60 打印挂科 '''
score = input('please input your score>>>' )
score = int(score)
if score > 90 :
print('优秀')
elif score > 80 :
print('良好')
elif score > 70 :
print('一般')
elif score > 60 :
print('及格')
else :
print('挂科')
>>>please input your score>>>67
>>>及格
eg.3 if嵌套
''' 招聘模特系统
用户输入姓名,年龄,性别,身高,体重
如果用户输入的年龄小于22岁并且身高大于170并且性别为女,体重小于110,则请求是否x想要了解更多,如果同意则打印Please add WeChat...
不同意则打印出next one please
如果用户输入的年龄大于22或者身高小于170,体重大于110,则打印出thanks for participation '''
user_name = input('please input your name>>>' )
user_age = input('please input your age>>>' )
user_gender = input('please input your gender>>>' )
user_height = input('please input your height>>>' )
user_weight = input('please input your weight>>>' )
if int(user_age) < 22 and user_height > '170' and user_gender == 'female' and user_weight < '110':
print('you are which one we want ,do you want know more for us?(y/n)')
choice = input('please input your choice>>>')
if choice == 'y':
print('Please add WeChat...')
else :
print('next one please')
else :
print('thanks for participation')
>>>please input your name>>>koala
>>>please input your age>>>18
>>>please input your gender>>>female
>>>please input your height>>>175
>>>please input your weight>>>100
>>>you are which one we want ,do you want know more for us?(y/n)
>>>please input your choice>>>y
while 循环
关键字: while break continue
语法:
while 条件:
代码1
代码2
代码3
while的运行步骤:
步骤1:如果条件为真,那么依次执行:代码1、代码2、代码3、......
步骤2:执行完毕后再次判断条件,如果条件为True则再次执行:代码1、代码2、代码3、......,如果条件为False,则循环终止
while 实例:
eg.1
# 用户登录系统的设置,有且仅有三次错误机会
username = "koala"
password = "123"
# 记录错误验证的次数
count = 0
while count < 3:
inp_name = input("please input your username:")
inp_pwd = input("please input your password:")
if inp_name == username and inp_pwd == password:
print("land successfully")
else:
print("incorrect username or password entered!")
count += 1
>>>please input your username:koala
>>>please input your password:234
>>>incorrect username or password entered!
>>>please input your username:koala
>>>please input your password:456
>>>incorrect username or password entered!
>>>please input your username:koala
>>>please input your password:456
>>>incorrect username or password entered!
>>>
>>>Process finished with exit code 0
eg.2 break的使用
# 循环打印1-100 到了数字7就结束打印
count = 1
while count < 11:
if count == 7:
count += 1
# 结束此循环
break
print(count)
# 让count自增1
count += 1
eg.3 continue的使用
# 循环打印1-10 除了数字7
count = 1
while count < 11:
if count == 7:
count += 1
# 跳过本次循环 开始下一次循环
continue
print(count)
# 让count自增1
count += 1
eg.4 while嵌套
while True: #第一层循环
# 1.获取用户的用户名和密码
username = input('please input your username>>>:')
password = input('please input your password>>>:')
# 2.判断用户名和密码是否正确
if username == 'koala' and password == '123':
print('land successfully')
# 第二层循环
while True:
command = input('command>>>:')
if command == 'q':
break # 用于结束本层循环,即第二层循环
print('executing your command:%s'%command)
break # 用于结束本层循环,即第一层循环
else:
print('incorrect username or password entered!')
eg.5 全局标识符
flag = True # 引入一个全局标识符
while flag:
# 1.获取用户的用户名和密码
username = input('please input your username>>>:')
password = input('please input your password>>>:')
# 2.判断用户名和密码是否正确
if username == 'koala' and password == '123':
print('land successfully')
# 第二层循环
while flag:
command = input('command>>>:')
if command == 'q':
flag = False # flag变为False, 所有while循环的条件都变为False,所有循环都结束掉
print('executing your command:%s'%command)
else:
print('incorrect username or password entered!')
for 循环
关键字:for break continue
for循环能够做到的事情while循环都可以做到
但是for循环使用起来比while更加的简单快捷
语法:
for 变量名 in 可迭代对象: # 此时只需知道可迭代对象可以是字符串\列表\字典
代码1
代码2
...
eg.1
unknown_list = ['koala','yugali', 18 , 123 , [1,2,3]]
for i in unknown_list: #变量名不知道起什么的时候, 一般都是以i、j、item命名
print(i)
>>>koala
>>>yugali
>>>18
>>>123
>>>[1, 2, 3]
eg.2 字典
for i in {'name':'jason','pwd':123}:
print(i)
>>>name # for循环字典 指挥依次拿到字典的key
>>>pwd
eg.3 for 嵌套
# 九九乘法表
for i in range(1,10): #range简单的看成是一个能够产生一个含有多个元素的列表
for j in range(1,i+1):
print('%s*%s=%s'%(j,i,j*i),end=' ')
print()
range:
range(起始位置,终止位置),顾头不顾尾
在python3中 类似于是一个老母猪
需要值的时候才会给你 不需要的时候就不给 节省内存
在python2中 直接生成一个列表 不节省内存
xrange(10) 等价于 python3里面的range()
break 与 continue也可以用于for循环,使用语法同while循环
作业
猜年龄的游戏
1.必写
错误的情况下只能猜三次
正确的情况下直接推出游戏
2.拔高
三次错误之后提示用户三次机会已用完
问他是否继续 如果继续则再给三次机会
如果不继续则直接退出
note1
# c猜年龄的游戏,有且只有三次机会
pass_age = 18
count = 0
while count < 3:
inp_age = input("please input your guess:")
if inp_age == pass_age :
print('you are grate')
else :
print("you are a fool")
count += 1
note 2