飞道的博客

0-7 Python 集合、顺序执行、条件判断、循环控制

477人阅读  评论(0)

0-7 Python 集合、顺序执行、条件判断、循环控制

提示:Python 随堂笔记


0-7 Python 集合、顺序执行、条件判断、循环控制


集合

集合介绍 [掌握]

集合( set )是一个 无序不重复 元素的集,基本功能包括关系测试和消除重复元素。是 可变数据类型
集合数据类型的 核心 在于 自动去重

集合创建 [掌握]

集合使用 大括号 {} 框定元素,并以 逗号 进行分隔。

s = {
   ele1,ele2,ele3...}
s = set()
s = set(iterable)

注意:
{}不是 创建 空集合,而 是空字典。创建 空集合 需使用 set()

添加元素 [熟悉]

通过 set.add(key) 方法可以 添加元素 到 set 中
注意:
可以重复添加,但是会 自动去重,所以无效果
不能添加可变对象

集合更新 [熟悉]

可以通过 set.update() 方法,将另一个对象 更新已有的集合中,这一过程同样会进行 去重

删除元素 [熟悉]

set.remove(key) : 删除指定元素
set.pop() : 随机删除元素(注意:无参数)
注意:
集合不能取出某个元素,因为集合既不支持下标索引也不支持字典那样的通过键值对获取


示例代码: 【熟悉集合】

# set()  # 类 方法
    print(type(set()))  # 得到:<class 'set'>

# 集合没有下标
# 创建set类型 -> 集合
# 集合的特点:全部拆开,无序的,自动去重的 例:
    s2 = set("hello world")
    print(s2)  # 得到:{'d', ' ', 'w', 'o', 'e', 'l', 'r', 'h'}

# 添加更新元素
# 1. set.add(key)  # 添加元素 只能添加不可变对象 例:
    s2 = set([1, 2, 3, 3])
    s2.add((1, 2, 3)) ## 添加元素  得到:{1, 2, 3, (1, 2, 3)}
# 2. set.update()  #更新进集合中 例
    s2 = set([1, 2, 3, 3])
    s2.update("hello") ## 更新进入 得到:{1, 2, 3, 'l', 'o', 'e', 'h'}

# 删除元素
# 1. set.remove()  # 删除指定元素 元素不存在时报错 例:
    s2 = set([1, 2, 3, 3])
    s2.remove(3)  # 删除指定元素5 得到:{1, 2}
# 2. set.pop()  # 删除随机元素 例:
    s2 = set([1, 2, 3, 3])
    s2.pop()  # 无序随即删除一个 ()无参数
# 3. del 删除整个集合 例:
    s2 = set([1, 2, 3, 3])
    del s2

# print(s2)

总结数据类型哪些为可变的哪些为不可变的

什么是可变不可变

定义变量的时候,是先创建一块内存空间,将值放进去,然后变量名里存放着该内存空间的内存地址。现在我们就可以解释了。

  • 可变类型:就是这个数据类型的值在不改变这一块内存空间,而去改变这个数据类型的值。
  • 不可变类型:当改变值得时候,会申请一块新的内存空间,不再是原来的那一块内存空间了。

不可变类型

  • 数值
  • 字符串
  • 字节
  • 元祖

可变类型

  • 列表
  • 字典
  • 集合

顺序执行与程序主入口

顺序执行 [了解]

Python代码在执行过程中,遵循下面的基本原则:

  • 普通语句,直接执行;
  • 碰到函数,将函数体载入内存,并不直接执行
  • 碰到类,执行类内部的普通语句,但是类的方法只载入,不执行
  • 碰到if、for等控制语句,按相应控制流程执行
  • 碰到@,break,continue等,按规定语法执行
  • 碰到函数、方法调用等,转而执行函数内部代码,执行完毕继续执行原有顺序代码

程序主入口 [熟悉]

  • 一个 .py,除了可以被直接运行外,还可以作为模块,
    被其他 .py文件导入。不管是直接运行还是被导
    入,.py 文件的最顶层代码都会被运行(Python 用缩
    进来区分代码层次)

  • 但是当一个 .py 文件作为模块被导入时,我们可能不
    希望一部分代码被运行。那么就可以将这部分代码的
    调用写在主程序中

if __name__ == '__main__':  # 主函数/程序主入口

条件判断 [掌握]

条件判断是通过一条或多条判断语句的执行结果(True 或者 False)来决定执行的代码块。在
Python 语法中,使用 if 、 elif 和 else 三个关键字来进行条件判断。

条件判断使用原则:

  • 每个条件后面要使用 冒号 作为 判断行的结尾,表示接下来是 满足条件(结果为True)后要
    执行的语句块。
  • 除了 if 分支 必须有,elif 和 else 分支都可以根据情况 省略。
  • 使用 缩进 来 划分语句块,相同缩进数的语句在一起组成一个语句块。
  • 顺序判断每一个分支,任何一个分支首先被命中并执行,则其后面的所有分支被忽略,直接
    跳过!
  • 可以有多个 elif ,但只能有一个 else
  • 在 Python 中 没有 switch – case 语句。

条件判断嵌套

if…elif…else 语句可以嵌套,也就是把 if…elif…else 结构放在另外一个 if…elif…else 结构中

举个栗子:


代码:

name = input('请输入你的名字')

if name == 'Jenny':
    print(name)
elif name == 'Anne':
    print('不是安妮是詹妮哦~')
else:
    age = input('看来你忘记名字了,那你的年龄呢?')
    if age == '18':
        print('对你是:'+ age +'岁')

条件判断可以多个elif 也可以套娃.

循环控制

循环控制,就是让 程序循环运行某一段代码 直到 满足退出的条件,才 退出循环
Python 用关键字 forwhile 来进行循环控制

while 循环表达式

当程序从上至下执行时,遇到 while 循环语句,则会判断表达式 是否成立 ,当 成立
则会进入 while 循环体内,执行 循环体内部执行的代码块。直到判断表达式 不成
立时
,则 终止循环

做个小练习吧:

# 打印 5 次 hello amy

i =0
while i < 5:
    print('hello amy')
    i+=1

输出:
hello amy
hello amy
hello amy
hello amy
hello amy
# 求 1-100 之间的和

i = 1
s = 0
while i < 100:
    s = s + i
    i+=1
print(s)

输出:
4950
# 新任务:当 n = 8 时终止循环
一:
n = 0
while True:
    print(n)
    n += 1
    if n == 8:
        break

二:
n =0
while n < 8:
    print(n)
    n += 1

输出相同:
0
1
2
3
4
5
6
7
# 当 n = 8 时跳出当前循环,进入下次循环

n = 0
while n < 10:
    n += 1
    if n == 8:
        continue
    print(n)

输出:
1
2
3
4
5
6
7
9
10

break 与 continue 语句

break :
循环体 执行的过程中想要 退出循环体,就可以使用到 break 语句。

continue :
continue 语句用于 跳过 当前循环体 剩余部分的代码,直接 开始下一轮循环。它 不会退出和终止
循环

while 的 else 从句

while 循环还可以增加一个 else 从句。当 while 循环 正常执行 完毕,会执行 else 语句

注意:

else 与 while 平级的缩进方式
如果是被 break 等机制 强制 提前 终止 的循环,不会执行 else 语句。

while 循环嵌套使用

if 判断可以嵌套,while 当然也可以嵌套。但是建议大家不要嵌套 3 层以上,那样的效率会很低。

for 循环表达式

虽然与 while 一样都是循环的关键字,但 for 循环通常用来遍历 可迭代 的对象


注意:

  • for … in …: 属于固定格式
  • iterable 表示 可迭代的对象
  • i 是 变量名(可更改),代表可迭代对象里面的每
    个元素

课后作业

作业1


答案:

s = set()
import random  # 随机模块
frequency = int(input('请输入生成个数:'))
for i in range(1, frequency+1):
    random_number = random.randint(1, 3)
    s.add(random_number)  # 向集合s添元素加
print(sorted(s))  # 内置排序方法

作业2

for i in range(100, 10000):
    s = str(i)
    num = int(s[0])**3 + int(s[1])**3 + int(s[2])**3
    if num == i:
        print(i)

# 或者
for i in range(100,1000):
    i1 = i//100
    i2 = i%100//10
    i3 = i%10

    s = i1**3 + i2**3 + i3**3
    if s ==i:
        print(i)


结果相同:
153
370
371
407

作业3

# 1. 当输入为 yes 时,给出选项 2. 当选项为 3 ,则退出系统 3. 当选项不在选择范围内 , 则提示重新选择
option = input('年轻人最近学习了吗? yes/no')
print('你选择了' + option)
while True:
    if option == 'yes':
        option_1 = input('选项1:python\n选项2:php\n选项3:没有,滚蛋!\n请输入你学习的选项:')
        print('你选择了:' + option_1)
        if option_1 == '1':
            print('真棒!')
            break
        elif option_1 == '2':
            print('php也很不错哦~')
            break
        elif option_1 == 3:
            break
        else:
            print('请做出选项!')
    else:
        print('年轻人,耗子尾汁!')
        break

图示:

如果文章对你有帮助,记得一键三连哦~

原创不易 感谢支持 未经允许禁止转载!

Pycharm专业版下载:立即下载 提取码:8888
博主的QQ:1617184046
博主的官网:瞄一眼~


转载:https://blog.csdn.net/weixin_45561522/article/details/111995216
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场