python学习笔记

今日内容概要

  • 作业讲解
  • 逻辑运算符知识补充
  • 循环结构

今日内容详细

作业讲解

补充知识

    print('11' > '22')  # False
    print('33' > '11')  # True
    print('33' > '111')  # True

字符串的数字比较大小是按照位置一一比较,只要有一个位置上的数字决出了大小那么整体的结果也就确定了
如果名字绑定的值就是布尔值,那么作为条件的时候可以不做任何比较,直接写
1.女人的年龄>=18并且<22岁并且身高>170并且体重<100并且是漂亮的,那么:表白,否则:叫阿姨好

    age = 28
    height = 175
    weight = 99
    is_beautiful = True
    if 18 <= age < 22 and height > 170 and weight < 100 and is_beautiful:
        print('做我女朋友吧')
    else:
        print('阿姨好')

2.根据用户输入内容打印其权限
jason --> 超级管理员
tom --> 普通管理员
jack,rain --> 业务主管
其他 --> 普通用户

name == 'jack' or 'rain'  # 错误写法1
name == ('jack' or 'rain')  # 错误写法2

    name = input('name>>>:')  # 1.获取用户名
    if name == 'jason':
        print('超级管理员')
    elif name == 'tom':
        print('普通管理员')
    elif name == 'jack' or name == 'rain':  # 正确写法
        print('业务主管')
    else:
        print('普通用户') # 2.判断用户身份

3.编写用户登录程序
要求:有用户黑名单 如果用户名在黑名单内 则拒绝登录
eg:black_user_list = ['jason','kevin','tony']
如果用户名是黑名单以外的用户则允许登录(判断用户名和密码>>>:自定义)
eg: oscar 123
编写复杂程序的时候 可以先一条道走到黑 先写正确的逻辑

black_user_list = ['jason', 'kevin', 'tony'] # 1.先定义出黑名单用户
username = input('username>>>:') # 2.获取用户的用户名
if username not in black_user_list: # 3.判断用户名是否在黑名单中
    password = input('password>>>:') # 4.让用户输入密码
    if username == 'oscar' and password == '123':
        print('欢迎光临')
    else:
        print('用户名或密码错误')
else:
    print('你被封了') # 5.判断用户名和密码是否正确

逻辑运算符知识补充

1.and

print(1 == 2 and 3)  # False

print(1 == 2) # False
连接的条件:如果不是一个具体的值,则需要自动转换成布尔值

print(10 > 3 and 100)  # 100

由于and前面的运算得出的布尔值是True,所以and连接的条件最终的结果取决于后面的
如果后面的值是明确的数据值,那么直接返回该数据值(数据值对应的布尔值必须是True)

print(1 == 1 and 2 == 2)  # True
print(1 == 1 and False)  # False
print(True and 1 == 1)  # True
print(1 and 10)  # 10

2.or

print(1 == 1 or 111)  # True
print(1 or 10 > 20)  # 1
print(10 or 100)  # 10

由于or是多个条件里一个条件成立那么就成立,所以or第一个条件成立那么就不用看后面的了,or连接的条件最终结果取决于前面的
and和or连接的多个条件在返回具体结果的时候可能是布尔值也可能是数据值
我们在日常写代码的时候不需要纠结具体返回的是什么,直接当成布尔值处理

3.not

它的结果肯定是个布尔值

循环结构之while循环

1.while

image
在循环结构中,程序的执行流程为:

1.判断循环条件
2.如果为真,则执行循环中的代码块;执行后跳转到步骤 1,重复第 1 步和第 2 步.
3.如果为假,则循环结束
while 条件:
条件成立之后循环执行的子代码
1.先判断while后面的条件是否成立 如果成立则执行子代码
2.子代码运行完毕之后 再次回到while后面的条件判断处 判断条件是否成立
3.如果成立则继续运行子代码 完毕后再次判断while后面的条件是否成立
4.依次往复 直到条件不成立才会结束

count = 1
while count <= 3:
    print(count)
    count += 1
print("结束循环")

# 输出结果
1
2
3
结束循环

2.while+break

结束循环体的方式
1.自己写结束条件 利用while后面的条件判断(规定12:30下班)
2.在循环体代码中添加关键字强制结束(心情好 10:30就放假)

# 利用条件判断退出
count = 1
flag = True
while flag:
    print(count)
	if counnt >= 5
	    flag = false
	else:
	    count += 1
# 输出结果
1
2
3
4
5
# 利用break退出
count = 1
while True:
    print(count)
	if count >= 5
	    break
	else:
	    count += 1
# 输出结果
1
2
3
4
5

break:直接结束break所在的循环体 (结束本层循环),只能结束它所在那一层的循环体代码

3.while+continue

continue 语句是一个删除的效果,他的存在是为了删除满足循环条件下的某些不需要的成分
continue 语句跳出本次循环,而break跳出整个循环。
循环打印1到10(按规矩办事),但是到了7就跳过

count = 1
while count < 11:
    if count == 7:
        # 让count自增1
        count += 1
        # 跳过本次循环 直接开始下一次循环
        continue
    print(count)
    count += 1
# 输出结果
1
2
3
4
5
6
8
9
10

结束本次循环 直接开始下一次循环(也只影响所在的那一层循环而已)

4.while+else

当while循环正常执行完的情况下,执行else输出,如果while循环中执行了跳出循环的语句,比如break,将不执行else代码块内的内容

count = 1
while count < 11:
    print(count)
    if count == 7:
        break
    count += 1
else:
    print('循环体按照提前定义好的条件正常结束 则会执行')

# 输出内容
1
2
3
4
5
6
7
i=0
while i<5:
    print(i)
    i+=1
else:
    print('hello world')

# 输出内容
0
1
2
3
4
hello world

5.死循环与全局标志位

1.死循环
循环条件永远为True,就出现了死循环

count = 10
while True:
    count *= 10  # 计算死循环 不允许出现 有问题
  
while True:
    name = input('name>>>:')  # 有等待时间 允许出现 没有问题

2.全局标志位(可以不用)

flag = True  # 1.设定一个全局标志位
while flag:
    print(123)
    while flag:
        print(321)
        while flag:
            print(222)
            flag = False  # 2.结束全局循环

作业

1.准确说出下列判断的结果(不要执行代码)
v1 = 1 or 3
v2 = 1 and 3
v3 = 0 and 2 and 1
v4 = 0 and 2 or 1
v5 = 0 and 2 or 1 or 4
v6 = 0 or False and 1
image
2.编写一个用户登录程序
用户如果登录失败 则只能尝试三次
用户如果登录成功 则直接结束程序
image
image
image

3.编写一个用户登录程序
用户如果登录失败 可以无限制尝试
用户如果登录成功 则进入内层循环 获取用户输入的指令 并打印该指令
eg: 用户输入cmd指令 则程序打印'正在执行您的指令:cmd'
给用户提供一个退出命令 用户一旦输入则退出这个程序
eg: 用户输入q指令 则程序先打印该指令再结束
image
image
image
4.编写猜年龄的游戏(拔高练习 尝试编写)
用户有三次猜测的机会 如果用完则提示用户是否继续尝试
用户输入y则继续给三次机会 如果用户输入q则直接结束程序
image
image

posted @   空白o  阅读(37)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示