数据分析4.14

本文概述了Python中的基本运算符,如逻辑运算、成员运算和身份运算,以及流程控制中的顺序、分支(if-else和嵌套if)和循环(while和for)。通过实例讲解了如何运用这些概念解决实际问题。

昨日内容回顾

你的每一次进步都是一次赶鸭子上架的过程

  • 代码注释

    # 注释内容
    '''注释'''
    """注释"""
    
  • 变量与常量

    1.变量名  赋值符号   变量值
        重点掌握内部原理
    2.变量名的命名规范
    3.变量名的命名风格
    4.常量
       全大写
    
  • 基本数据类型

    整型 int
        age = 18
    浮点型  float 
        salary = 3.2
    字符串  str
        name = 'jason'
        name = "jason"
        name = '''jason'''
        name = """jason"""
    列表 list
       name_list = ['jason',11,11.11,[11,22,22]]
    字典  dict
        info = {'username':'jason','password':123}
    布尔值  bool
       TrueFalse
    元组  tuple
        name_list = ('jason','kevin','tony')
    集合  set
        num = {1,2,3,4,5,6}
    
  • 运算符

    # 增量赋值
      x += 1
    # 链式赋值
      x = y = z = 1
    # 交叉赋值
       m,n = n, m
    # 解压赋值
      x,y,z = [11,22,33]
      x,*_ = [1,2,3,4,5,6]
    

今日内容概要

  • 运算符

  • 流程控制(重点)

  • 数据类型的内置方法

  • 字符编码

  • 文件操作(重点)

今日内容详细

运算符

# 逻辑运算符
    and 与
       链接多个条件 多个条件必须都成立结果才为True
    or 或
       链接多个条件  多个条件只要有一个成立就为True
    not 非
       取反
 '''
 当上述三者混合使用的时候 其实它们是有优先级之分的
	我们在操作的时候通过人为加括号的形式来明确优先级
 '''      

# 成员运算
	name_list = ['jason','egon','tony','kevin']
    username = input("username>>>:")
    print(username in name_list)
    print(username not in name_list)
    
# 身份运算
	is判断内存地址是否一致
    ==判断值是否一致    
    
    >>> x =
    >>> id(y)
    
    >>> x is y
    False
    >>> x == y
    True

流程控制

程序的执行流程分为三种结构:
	顺序结构
    	之前我们写的代码都是顺序结构 一条线流水下来的
    分支结构
    	基于条件判断做出不同的响应
        eg:根据天气决定是否带伞 根据心情决定是否出去嗨皮...
    循环结构
    	循环着重复做某件事
        eg:流水线操作工...

分支结构

多个分支只会走其中一个

# 如果年龄大于30岁 叫阿姨
age = 28
if age > 30:
    print('阿姨好')
"""
代码的缩进
    1.在python中 我们通过缩进来表示代码的从属关系(缩进一般使用四个空格)
    2.并不是所有的代码都可以拥有子代码
         判断代码是否缩进可以根据关键符号 冒号
    3.子代码可以有多行 并且如果多个子代码属于一个父代码
        那么他们的缩进必须是相同的
"""    

# 如果年龄大于30岁 叫阿姨 否则叫小姐姐
age = 32
if age > 30:
    print('阿姨好')
else:
    print('小姐姐')

# 如果:成绩>=90,那么:优秀
# 如果成绩>=80且<90,那么:良好
# 如果成绩>=70且<80,那么:普通
# 其他情况:很差
score = input('score>>>:')
score = int(score)   # 将字符串的分数转换成数字
if score >= 90:
    print('优秀')
elif score >= 80:
    print('良好')
elif score >=70:
    print('普通')
else:
    print('很差')
    
语法结构总结
if 条件1:   # 如果条件1的结果为True,就依次执行:代码1、代码2
   代码1
    代码2
elif 条件2: # 如果条件2的结果为True,就依次执行:代码3、代码4
   代码3
    代码4
elif 条件3: # 如果条件3的结果为True,就依次执行:代码5、代码6
   代码5
    代码6
else:     # 其它情况,就依次执行:代码7、代码8
    代码7
    代码8

# 拔高	if嵌套
# 如果:女人年龄<28岁并且身高>170并且体重<100并且是漂亮的,那么:表白,否则:叫阿姨
# 如果表白成功则去吃饭看电影 如果失败则走人
age = 24
height = 171
weight = 99
is_beautiful = True
is_success = True
if age < 28 and height > 170 and weight < 100 and is_beautiful:
    print('小姐姐 加个微信呗')
    if is_success:
        print('吃饭 看电影 天黑了')
    else:
        print('去你妹的 流氓')
else:
    print('不好意思 认错人了')
    
    
# 用户登录功能
# 先获取用户的用户名和密码
username = input('username>>>:')
password = input('password>>>:')
# 判断用户名和密码是否正确
if username == 'jason' and password == '123':
    print('登录成功')
else:
    print('用户名或密码错误')   

循环结构

while True:
    # 先获取用户的用户名和密码
    username = input('username>>>:')
    password = input('password>>>:')
    # 判断用户名和密码是否正确
    if username == 'jason' and password == '123':
        print('登陆成功')
    else:
        print('用户名或密码错误')
        
while 条件:
    代码1
    代码2
    代码3
#while的运行步骤:
# 步骤1:如果条件为真,那么依次执行:代码1、代码2、代码3
# 步骤2:执行完毕后再次判断条件,如果条件为True则再次执行:代码1、代码2、代码3,如果条件为False,则循环终止

# 结束本层循环
    break
    while True:
    # 先获取用户的用户名和密码
    username = input('username>>>:')
    username = input('password>>>:')
    # 判断用户名和密码是否正确
    if username == 'jason' and password == '123':
        print('登录成功')
        while True:
            cmd = input('请输入您的指令>>>:')
            print('真正指向您的指令:%s'%cmd)
            break  # 只能结束离它最近的那一层父while循环
        break
    else:
        print('用户名或密码错误')
        
 # 结束本次循环
      continue
    # 循环大于1-10 但是不包含数字7
    count = 1
    while count < 11:
        # 每次大于之前 先判断count是多少
        if count == 7:
            count += 1
            # 结束本次循环 重新开始下一次循环
            continue
        print(count)
        count += 1

for循环

for循环能够做到的事情 while循环都可以做到
但是for循环使用起来更加的方便(使用频率更高)

for 变量名 in 可迭代对象: # 此时只需知道可迭代对象可以是字符串\列表\字典
    代码一
    代码二
    ...
    
name_list = ['jason','kevin','tony','tom']
# 循环打印列表中的每一个元素
# while
# count = 0
# while count < 4:
#     print(name_list[count])
#     count += 1

# for
# for i in name_list:
#     print(i)

user_info = {
    'username':'jason',
    'password':123,
    'hobby':['read','study']
}
for i in user_info:
    print(i)  # 循环字典只会挨个获取到字典的key
    
# range方法
	# 默认从0开始到9结束 
	for i in range(10):
    	print(i)
       
    # 从1开始到9结束
    for i in range(1,10):
        print(i)
        
    # 从1开始到99结束 并且间隔20
    for i in range(1,100,20):
        print(i) 

数据类型内置方法

"""
查看某个数据类型的内置方法 可以借助于编辑软件自动提示功能
	数据类型关键字
"""

####  整型 
    int()
####  浮点型
    float()
####  字符串
    str()
    res = 'jasonNB'
    1.计算字符串长度
    print(len(res))  # 7
    2.索引取值(0开始)
    print(res[2])    # s
    3.切片操作
    print(res[2:5])  # son
    4.步长
    print(res[2:5:2])  #  sn
    5.移除字符串首尾的指定字符
    name = '     jason    '
    print(len(name))
    res1 = name.strip()
    print(res1,len(res1))
    username = input('username>>>:').strip()
    if username == 'jason':
        print('欢迎jason')
    else:
        print('滚蛋')
    name1 = '$$jason$$' 
    print(name1.strip('$'))
    print(name1.lstrip('$'))  # 左侧
    print(name1.rstrip('$'))  # 右侧
    6.按照指定的字符切割字符串
    info = 'jason|123|read'
    res = info.split('|')
    print(res)  # ['jason', '123', 'read']
    7.统计字符个数
    res = 'jason jason kevin tony'
    print(res.count('o'))
    8.判断字符串是否是纯数字
    print('123'.isdigit())
    print('123a'.isdigit())
    score = input('score>>>:')
    if score.isdigit():
        score = int(score)  # 将字符串的分数转换成数字
        if score >= 90:
            print('优秀')
        elif score >= 80:
            print('良好')
        elif score >= 70:
            print('普通')
        else:
            print('很差')
    else:
        print('请输入纯数字')
    9.替换字符串
    res = 'jason is DSB jason jason jason'
    print(res.replace('jason','tony'))  # 全部替换
    print(res.replace('jason','tony',2))  # 替换2个
    10.大小写转换及判断
    res = 'JaSoN OlDBOy 666'
    print(res.upper())   # 大写
    print(res.lower())   # 小写
    print(res.isupper())  # 是否是纯大写
    print(res.islower())  # 是否是纯小写

    
####  列表
name_list = ['jason','egon','tony','kevin']
# 1.统计长度
# print(len(name_list))  # 4
# 2.索引取值 切片操作
# print(name_list[1],name_list[1:4],name_list[-1])
# 3.统计个数
# print(name_list.count('jason'))
# 4.添加元素(重点)
# name_list.append('jack')
# print(name_list)  # 尾部追加元素
# name_list1 = ['aaa','bbb','ccc']
# name_list.extend(name_list1)  # 扩展列表
# print(name_list)
# name_list.insert(0,'heiheihei')
# print(name_list)
# 5.修改元素
# name_list[0] = 'jasonNB'
# print(name_list)
# 6.删除元素
# name_list.pop()  # 尾部弹出
# print(name_list)
# name_list.pop(0)  # 自定义索引位置
# print(name_list)
# name_list.remove('tony')
# print(name_list)
# 7.排序
l = [11,77,55,33,66,99,22]
# l.sort()  # 升序
l.sort(reverse=True)  # 降序
print(l)   

可变类型与不可变类型

可变类型
   值改变内存地址不变
不可变类型
	值改变内存地址肯定改变
res = '$$jason$$'  
n = res.strip('$')  # 产生了新的数据
print(n)

l = [11,22,33]
print(id(l))
l.append(44)
print(l,id(l))

作业

1.整理今日笔记
2.根据用户输入内容打印其权限
        '''
        jason --> 超级管理员
        tom  --> 普通管理员
        jack,rain --> 业务主管
        其他 --> 普通用户
        '''
3.猜年龄游戏
	基本要求
        先校验用户的用户名和密码 正确之后进入猜年龄环节
        猜对了程序直接结束 猜错了可以反复猜
    进阶要求
    	用户猜错的话 只有三次机会
        三次过后提示用户是否继续 如果是则再给三次机会
        如果否直接退出
    提示:while循环嵌套及if判断
4.将对应的博客看一遍

数据
print(n)

l = [11,22,33]
print(id(l))
l.append(44)
print(l,id(l))




### 作业

```python
1.整理今日笔记
2.根据用户输入内容打印其权限
        '''
        jason --> 超级管理员
        tom  --> 普通管理员
        jack,rain --> 业务主管
        其他 --> 普通用户
        '''
3.猜年龄游戏
	基本要求
        先校验用户的用户名和密码 正确之后进入猜年龄环节
        猜对了程序直接结束 猜错了可以反复猜
    进阶要求
    	用户猜错的话 只有三次机会
        三次过后提示用户是否继续 如果是则再给三次机会
        如果否直接退出
    提示:while循环嵌套及if判断
4.将对应的博客看一遍
标题基于Spring Boot的音乐播放网站设计与实现研究AI更换标题第1章引言介绍音乐播放网站的研究背景、意义、国内外现状及论文方法与创新点。1.1研究背景与意义阐述音乐播放网站在当今数字化时代的重要性与市场需求。1.2国内外研究现状分析国内外音乐播放网站的发展现状及技术特点。1.3研究方法以及创新点概述论文采用的研究方法及在设计与实现上的创新点。第2章相关理论与技术基础总结音乐播放网站设计与实现所需的相关理论和技术。2.1Spring Boot框架介绍介绍Spring Boot框架的基本原理、特点及其在Web开发中的应用。2.2音乐播放技术概述概述音乐播放的基本原理、流媒体技术及音频处理技术。2.3数据库技术选型分析适合音乐播放网站的数据库技术,如MySQL、MongoDB等。第3章系统设计详细介绍音乐播放网站的整体设计方案。3.1系统架构设计阐述系统的层次结构、模块划分及各模块的功能。3.2数据库设计介绍数据库表结构、关系及数据存储方式。3.3界面设计用户界面的设计原则、布局及交互方式。第4章系统实现详细介绍音乐播放网站的具体实现过程。4.1开发环境与工具介绍开发所需的软件、硬件环境及开发工具。4.2核心功能实现阐述音乐播放、搜索、推荐等核心功能的实现细节。4.3系统测试与优化介绍系统测试的方法、过程及性能优化策略。第5章研究结果与分析呈现音乐播放网站设计与实现的研究结果。5.1系统功能测试结果展示系统各项功能的测试结果,包括功能完整性、稳定性等。5.2用户反馈与评价收集并分析用户对音乐播放网站的使用反馈与评价。5.3对比方法分析将本设计与实现与其他类似系统进行对比分析,突出优势与不足。第6章结论与展望总结音乐播放网站设计与实现的研究成果,并展望未来发展方向。6.1研究结论概括音乐播放网站设计与实现的主要成果及创新点。6.2展望指出当前研究的不足,提出未来改进方向及可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值