python03_基础总结

本文介绍了编程中的基本流程控制结构,包括顺序执行、分支(单分支、双分支、多分支)和循环(for、while)结构,并通过实例展示了如何使用。此外,文章还详细讲解了列表这一常见数据结构,包括列表的增删改查操作,以及在实际场景中的应用。
摘要由CSDN通过智能技术生成

9.流程控制

  • 流程控制指的是通过代码控制程序执行过程

    • 根据代码执行过程不同,可以将代码分为三种结构

      • 顺序结构 — 代码从上往下一条一条执行,每条代码执行一次
      • 分支结构(if) — 根据条件选择执行或者不执行对应的代码
      • 循环结构(forwhile) — 代码写一遍,然后重复执行多次
  • if 分支结构

a) 单分支结构

	# 1)语法:
    if 条件语句:
        代码块
    # 2)示例
    score = int(input("输入你的分数:"))
	if score > 60:
    	print("及格")

b) 双分支结构

	# 1)语法:
    if 条件语句:
        代码块
    else:
        代码块
    # 2)示例
    score = int(input("输入你的分数:"))
	if score > 60:
    	print("及格")
    else:
        print("不及格")

c) 多分支结构

	# 1)语法:
    if 条件1:
        代码块1
    elif 条件2
        代码块2
    ...
	else:   #可有可无
        代码块n
    # 2)示例
    score = int(input("输入你的分数:"))
    if score >= 90:
        print("A")
    elif score >= 80:
        print("B")
    elif score >= 70:
        print("C")
    elif score >= 60:
        print("D")
    else:
        print("不及格")
	# 执行过程:先判断条件1是否成立,如果成立直接执行代码块1然后整个分之结构结束;条件1不成立判断条件2,条件2成立,执行代码块2,以此类推,最后执行else后面的代码块n。
  • 循环结构的作用:让代码重复执行

a) for 循环

	
    # 语法
    for 变量 in 序列: 
        循环体
    # 常见序列:字符串、列表、元组、字典、集合、迭代器、生成器、range
    for i in 'abc':
        print(i)
    # 让变量去序列中取值,一个一个的取,取完为止,每取一个值执行一次循环体

b) range 函数 - 创建等差数列

	
    '''
   	1. range(N)	-	创建[0, n)的等差数列,差是1
   					例如:range(6): 0 1 2 3 4 5
   	2. range(M, N)	-	创建[M, N)的等差数列,差是1
   						例如:range(5, 10): 5 6 7 8 9
   	3. range(M, N, step)	-	创建[M, N),差是 step
   								例如:range(2, 10, 2): 2 4 6 8 
   									range(10, 2, -2): 10 8 6 4
    '''
    for i in range(-5, 0):
    print(i)   # -5 -4 -3 -2 -1
    #练习
    # 练习1:求100+101+102+...+200的结果
    sum = 0
    for i in range(100,201):
        sum += i
    # 练习2:求nums中所有元素的和
    sum1 = 0
    sums = [89, 10, 22, 11, 4, 8, 9]
    for i in sums:
        sum1 += i
    # 练习3:求nums中所有偶数的和
    sum2 = 0
    for i in sums:
        if i % 2 == 0:
            sum2 += i
    list1=list(filter(lambda x : x % 2 == 1,[89, 10, 22, 11, 4, 8, 9]))
    # 练习4:统计nums中奇数的个数
    count = 0
    nums = [89, 10, 22, 11, 4, 8, 9]
    for i in nums:
        if i % 2 !=0:
            count += 1
    print(count)

c) while 循环


	'''
	while 条件语句:
		循环体
		
	执行过程:
	先判断条件语句是否成立,如果成立就执行循环体,执行完循环体再判断条件语句是否成立,成立就再执行循环体。
	'''
    x = 0
    while x < 5:
        print("hello world!")
        x += 1
  • continue 和 break 是只能在循环体中才能使用的关键字
    • continue - 结束一次循环 (在循环体的时候如果遇到了continue,那么这一次循环结束,直到进入下次循环)
    • break - 结束整个循环
	
    # continue例子:
    for i in range(5):
    	print("hello")
        continue
        print("123")
    # 只有hello打印了五次
    
    for i in range(10):
        if i % 3 == 0:
            continue
        print(i)
    # 取0-9不被3整除的数
    
    # break例子
    for i in range(5)
        print("hello")
        break
        print("123")
  • 当 while 遇到 break (初学者使用while循环的套路)
	
    # while True:
    	需要重复执行的操作
        if 循环结束的条件:
            break

​ a) 使用while循环的场景 - 死循环、循环次数不确定


	# 用户输入密码 (循环次数不确定)
	password = '123456'
	while input("输入密码:") != password:
    	print("输入错误,请重新输入:")
	print("输入正确")
    
    # 猜数字游戏,输入0-100,猜大小
    import random
    num = random.randint(0, 100)
    while True:
        n = int(input("请输入一个整数:"))
        if n == num:
            print("猜对了")
            break
        elif n < num:
            print("猜小了,往大的猜")
        else:
            print("猜大了,往小的猜")

10 常见数据结构

  • 列表 - 如果需要在程序中同时处理多个数据,就可以使用列表
    • 认识列表 - list
      • 列表是系统类型中容器型数据类型中的一种
      • 列表是容器,将[]作为容器的标志,里面多个元素用逗号隔开:[数据1,数据2,数据3…]
      • 列表是可变的(列表支持增、删、改);列表是有序的(顺序影响结果,支持下标操作)
      • 列表的元素:任何类型的数据都可以作为列表的元素,而且同一个列表中元素的类型可以不一样。
      • 空列表 []
    • 使用列表 - 增删改查
      • 查 - 获取列表元素
        • 查单个 - 获取列表中的某一个元素
        • 遍历 - 一个一个获取列表中元素
      • 增 - 添加元素
        • 列表.append(元素) - 在列表的最后添加一个元素
      • 删 - 删除列表中的某个元素
      • 改 - 修改某个元素的值

	'''
	查
	语法:
	列表[下标]  获取列表中指定下标对应的元素
	列表中的每个元素都有两个下标值
	a 从前往后从0开始不断增加的下标值  0 1 2 3......
	b 从后往前从-1开始不断减小的下标值  -1 -2 -3 -4......
	'''
    nums = [100, 200, 300, 400]
    print(nums[2], nums[-2]) # 取出300
    
    # 
    #遍历  一个一个地获取列表中所有的元素
    # 案例:统计scores中不及格学生的个数
    scores = [89, 78, 67, 10, 45, 99, 50]
    count = 0
    for i in scores:
        if i < 60:
            count += 1
    print(count)
    
    
    #增  - 添加元素
    # 练习1:提取nums中所有的偶数
    nums = [89, 78, 90, 64, 55, 71, 34]
    # [78, 90, 64, 34]
    new_nums = []
    for x in nums:
        if x % 2 == 0:
            new_nums.append(x)
    print(new_nums)
    
    #删除
    # 列表[下标]      -   删除列表中指定下标对应的元素
    movies = ['复仇者联盟', '盗梦空间', '怦然心动', '绿皮书', '肖生克的救赎', '触不可及']
    print(movies)
    del movies[1]
    print(movies)
	# 列表.remove(元素)  -  删除列表中指定元素(如果元素有多个,会删最前面的那一个)
    movies = ['复仇者联盟', '盗梦空间', '怦然心动', '绿皮书', '肖生克的救赎', '触不可及']
    print(movies)
    movies.remove('盗梦空间')
    
    # 列表.pop()      -   取走列表中最后一个元素并且返回
    # 列表.pop(下标)    -   取走列表中指定下标对应的元素并且返回
    movies = ['复仇者联盟', '盗梦空间', '怦然心动', '绿皮书', '盗梦空间', '肖生克的救赎', '触不可及']
	print(movies)
	result = movies.pop()
    result = movies.pop(0)
	print(movies, result)
    
    # 4.改  - 修改某个元素的值
	# 列表[下标] = 新元素      -   修改列表中指定下标对应的元素为新元素

	movies = ['复仇者联盟', '盗梦空间', '怦然心动', '绿皮书', '盗梦空间', '肖生克的救赎', '触不可及']
	print(movies)
	movies[1] = '阿甘正传'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值