python运算符

逻辑运算符

与 and

链接的多个条件必须都满足结果才成立否则不成立
eg:相亲对象身高165以上并且体重110以下并且长得漂亮并且家里有钱

或 or

链接的多个条件有一个满足即可
eg:相亲对象身高165以上或者体重110以下或者长得漂亮或者家里有

非 not

对条件取反
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
"""
上述三个关键字如果混合使用是存在优先级的 但是我们不需要考虑优先级
在书写的时候应该通过括号强制规定优先级关系
eg:先乘除后加减 打破顺序可以使用括号
"""

成员运算符

判断某个个体(局部)在不在某个群体(整体)内 in

stu_list = ['jason', 'tom', 'kevin', 'tony']
guess_name = input('name>>>:')
print(guess_name in stu_list)
print(guess_name not in stu_list)

身份运算符

"""
如何查看变量值所在的"内存地址"
id() 返回一串数字 可以用来表示内存地址
"""

>>> name1 = 'jason kevin tony'
>>> name2 = 'jason kevin tony'
>>> id(name1)
1358885155152
>>> id(name2)
1358885155224
>>> x = y = z = 'jason kevin tony'
>>> id(x)
1358885155296
>>> id(y)
1358885155296
>>> id(z)
1358885155296
>>> name1 == name2 # 判断两个变量的值是否相等
True
>>> name1 is name2 # 判断两个变量绑定值的内存地址是否相等
False

两个变量的值相等 那么内存地址不一定相等
两个变量的内存地址相等 那么值肯定相等

流程控制(重点)

流程控制就是控制执行的流程
流程主要分为三种
1.顺序结构(忽略)
从上往下依次执行(截止目前为止我们所写的代码都是顺序结构)
作业:写博客使用Typora画出来
2.分支结构(重点)
根据条件的不同执行不同的流程
作业:写博客使用Typora画出来
3.循环结构(重点)
根据条件循环往复的执行某一个过程

必备知识

"""
在python中通过代码的缩进来表示代码的从属关系
如果上面的代码没有缩进下面的代码缩进了
那么表示下面的代码属于上面的代码 下面代码是否就要取决于上面的代码

在python中并不是所有的代码都可以拥有子代码
可以拥有子代码的
if

属于同一个关键字的多行子代码必须要保持相同的缩进量

ps:python中缩进一般推荐使用四个空格(tab键)

小技巧:当某一行代码的结尾出现了冒号 那么下一行代码必缩进
"""

分支结构

# 如果年龄大于28岁 叫阿姨
age = 20
if age > 28:
  print('阿姨好')
"""
语法结构
if 条件:
条件成立之后执行的子代码
"""
'''小练习'''
username = input('username>>>:')
if username == 'jason':
  print('欢迎jason')

# 如果年龄大于28岁 叫阿姨 否则叫小姐姐
age = 38
if age > 28:
  print('阿姨好')
else:
  print('小姐姐好')
"""
if 条件:
  条件成立执行的子代码
else:
  条件不成立执行的子代码
"""

# 如果:成绩>=90,那么:优秀
# 如果成绩>=80且<90,那么:良好
# 如果成绩>=70且<80,那么:普通
# 如果成绩>=60且<70,那么: 及格
# 如果成绩<60 那么: 挂科
score = 50
if score >= 90:
  print('优秀')
elif score >= 80:
  print('良好')
elif score >= 70:
  print('普通')
elif score >= 60:
  print('及格')
else:
  print('挂科')
"""
语法结构
  if 条件1:
    条件1成立执行的代码
  elif 条件2:
    条件1不成立条件2成立执行的代码
  elif 条件3:
    条件1和2都不成立条件3成立执行的代码
  else:
    上述条件都不成立执行的代码
中间的elif可以有多个 if 和 else只能有一个(前提:在同一个分支结构中)
if elif else连用 肯定只会走一个 其他的肯定不走
"""


# if嵌套
# 如果年龄大于28岁 叫阿姨 否则跟小姐姐要微信
# 要么成功要么失败
is_success = True
age = 18
if age < 28:
  print('小姐姐 加个微信呗')
  if is_success:
    print('吃饭 看电影 天黑了~~~')
  else:
    print('去你妹的 臭流氓!')
else:
  print('不好意思看错人了!')

循环结构

# while True:
  # username = input('username>>>:')
  # password = input('password>>>:')
  # print(username, 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:
  # 判断count是否等于7 如果等于则不打印
  if count == 7:
    # 结束本次循环 开始下一次循环
    count += 1
    continue # 直接跳到循环体的条件判断处重新判断条件
  print(count)
  count += 1

# 利用while循环打印1-10 但是到7之后直接结束循环
count = 1

while count < 11:
  # 判断count是否等于7 如果等于则结束循环
  if count == 7:
    # 结束本层循环
    break
  print(count)
  count += 1
"""
break和continue只能影响所在层的while
"""
count = 1

while count < 11:
# 判断count是否等于7 如果等于则结束循环
  if count == 7:
    while True:
      cmd = input('cmd>>>:')
      print(cmd)
      if cmd == 'q':
        break
  print(count)
  count += 1

编程题

1.利用if判断实现用户的登录功能
获取用户的用户名和密码 然后判断是否跟后台设定的用户名密码相同
eg:jason 123

username = input('用户名>>>:')
password = input('密码>>>:')
if username == 'jason' and password == '123':
  print('登陆成功')
else:
  print('登陆失败')

2.利用if判断编写身份识别系统
获取用户的用户名 根据用户名的不同打印不同的身份
eg:
jason 管理员
tony 经理
kevin 主管
tom、jerry 专员
其他人员 普通员工

username = input('用户名>>>:')
if username == 'jason':
  print('管理员')
elif username == 'tony':
  print('经理')
elif username == 'kevin':
  print('主管')
elif username == 'tom' or username == 'jerry':
  print('专员')
else:
  print('普通员工')

拔高:循环起来并添加自动结束命令

while True:
username = input('用户名>>>:')
if username == 'jason':
print('管理员')
elif username == 'tony':
print('经理')
elif username == 'kevin':
print('主管')
elif username == 'tom' or username == 'jerry':
print('专员')
else:
print('普通员工')
if username == 'end':
break

3.利用while循环编写猜年龄的游戏
只有猜对了才结束程序 否则一直循环猜

while True:
end = 30
age = input('年龄>>>:')
age = int(age)
if age > end:
print('大了')
elif age < end:
print('小了')
else:
print('正确')
break

拔高:
三次机会

times = 0
while times < 3:
end = 30
age = input('年龄>>>:')
age = int(age)
if age > end:
print('大了')
times += 1
elif age < end:
print('小了')
times += 1
else:
print('正确')
break

age = input('age>>>:')
age = int(age) # 将字符串数字转成整型数字
if age > 80:
print('哈哈')

posted @ 2021-08-12 16:28  雾雨黑白  阅读(160)  评论(0编辑  收藏  举报