您当前的位置:首页 > 计算机 > 编程开发 > Python

python精选05集(for循环)

时间:04-25来源:作者:点击数:

复习

  • 程序的三大流程
  • while 循环基本使用
  • break 和 continue
  • while 循环嵌套

程序的三大流程

  • 在程序开发中,一共有三种流程方式:
    • 顺序——从上向下,顺序执行代码
    • 分支—— 根据条件判断,决定执行代码的分支
    • 循环—— 让特定代码 重复执行
在这里插入图片描述

while 循环基本使用

  • 循环的作用就是让指定的代码重复的执行
  • while循环最常用的应用场景就是让执行的代码按照指定的次数重复执行

while 语句基本语法

初始条件设置 —— 通常是重复执行的 计数器

while 条件(判断 计数器 是否达到 目标次数):
    条件满足时,做的事情1
    条件满足时,做的事情2
    条件满足时,做的事情3
    ...(省略)...
    
    处理条件(计数器 + 1)

注意

  • while语句以及缩进部分是一个完整的代码块

注意:循环结束后,之前定义的计数器条件的数值是依旧存在的

死循环

由于程序员的原因,忘记在循环内部修改循环的判断条件,导致循环持续执行,程序无法终止!

回顾作业

homework01

start = 2
while start < 10:
	print(start)
	start += 1
end = 9
while end > 1:
	print(end)
	end -= 1

homework02

while True:
	# 输入分数
	score = input("请输入分数【整数】:")
	# 如果输入q为退出
	if score == "q":
		break
	# 将输入的分数转为整数
	if int(score) >= 90:
		print('excellent')
	elif int(score) >= 80:
		print ('good')
	elif int(score) >= 60:
		print ('passed')
	else:
		print ('failed')

1、选择语句巩固练习

九九乘法表

第 1 步:用嵌套打印小星星

在控制台连续输出五行*,每一行星号的数量依次递增

# 1. 定义一个计数器变量,从数字1开始,循环会比较方便
row = 1

while row <= 5:

    print("*" * row)

    row += 1
第 2 步:使用循环嵌套打印小星星

知识点print函数的使用做一个增强

  • 在默认情况下,print函数输出内容之后,会自动在内容末尾增加换行
  • 如果不希望末尾增加换行,可以在print函数输出内容的后面增加, end=""
  • 其中""中间可以指定print函数输出内容之后,继续希望显示的内容
# 向控制台输出内容结束之后,不会换行
print("*", end="")

# 单纯的换行
print("")
第 3 步: 九九乘法表
row = 1

while row <= 5:

    # 假设 python 没有提供字符串 * 操作
    # 在循环内部,再增加一个循环,实现每一行的 星星 打印
    col = 1

    while col <= row:
        print("*", end="")

        col += 1

    # 每一行星号输出完成后,再增加一个换行
    print("")

    row += 1

2、行

物理行:程序员编写代码的行。

逻辑行:python解释器需要执行的指令。

建议一个逻辑行在一个物理行上。

# 3个物理行 3个逻辑行
a = 1
b = 2
c = a + b

如果一个物理行中使用多个逻辑行,需要使用分号;隔开。

# 1个物理行 3个逻辑行
a = 1;
b = 2;
c = a + b

如果逻辑行过长,可以使用隐式换行或显式换行。

# 3个物理行 1个逻辑行
d = a + \
    b + \
    c

隐式换行:所有括号的内容换行,称为隐式换行

括号包括: () [] {} 三种

# 隐式换行
d = (a + b +
    c)

显式换行:通过折行符 \ (反斜杠)换行,必须放在一行的末尾,目的是告诉解释器,下一行也是本行的语句。

3、for语句

作用

用来遍历可迭代对象的数据元素。可迭代对象是指能依次获取数据元素的对象,例如:容器类型。

示意图

在这里插入图片描述

语法

 for 变量列表 in 可迭代对象:

    语句块1

else:

   语句块2

说明

else子句可以省略。 在循环体内用break终止循环时,else子句不执行。

案例需求
  • 循环打印python
message = "python"
for item in message:
	print(item)
  • 显示输出
    在这里插入图片描述

4、range 函数

作用

用来创建一个生成一系列整数的可迭代对象(也叫整数序列生成器)。

语法:range(开始点,结束点,间隔)

示意图:

在这里插入图片描述

说明:

函数返回的可迭代对象可以用for取出其中的元素

返回的数字不包含结束点

开始点默认为0

间隔默认值为1

需求案例
  • 整数生成
    1、生成 1-4
    2、生成 0-5
    3、生成 2345
# 整数生成器:产生一个范围内的整数
# 开始值 结束值(不包含) 变化量
for item in range(0, 5, 1):
    print(item) # 0 1 2 3 4
# 结束值(开始值默认为0,变化量默认为1) 012345
for item in range(6):
    print(item)
# 开始值,结束值 2345
for item in range(2,6):
    print(item)
基础练习
# 练习1:显示0 1 2
for item in range(3):
    print(item)
# 练习2:显示6 7 8 9 10
for item in range(6,11):
    print(item)
# 练习3:显示2 4 6 8
for item in range(2,9,2):
    print(item)
# 练习4:显示9 8 7 6 5 4 3
for item in range(9,2,-1):
    print(item)
# 练习5:显示-1 -2 -3 -4 -5 -6
for item in range(-1,-7,-1):
    print(item)
综合练习
  • 累加:1–100之间能被3整除的整数
sum = 0
for number in range(1, 101):
# 不满足条件则跳过
    if number % 3 != 0:
        continue # 跳过(当前元素,继续循环)
    sum += number
print(sum)
  • 随机加法考试题
    程序产生2个随机数
    获取( a+b=? )两个数相加结果
    如果答对加10分,否则减5分.
    总共3道题,最后打印分数。
import random
score = 0
for __ in range(3):
    number01 = random.randint(1, 100)
    number02 = random.randint(1, 100)
    message = str(number01) + "+" + str(number02) + "=?"
    input_number = int(input(message))
    score += 10 if input_number == number01 + number02 else -5
print("总分:"+str(score))

5、del 语句

语法

del 变量名1, 变量名2

作用

用于删除变量,同时解除与对象的关联关系.如果可能则释放对象。

自动化内存管理的引用计数:

每个对象记录被变量绑定(引用)的数量,当为0时被销毁。

案例演示

a=1    # 对象 1 被 变量a引用,对象1的引用计数器为1  
b=a    # 对象1 被变量b引用,对象1的引用计数器加1  
c=a    #1对象1 被变量c引用,对象1的引用计数器加1  
del a    #删除变量a,解除a对1的引用  
del b    #删除变量b,解除b对1的引用  
print(c)    #最终变量c仍然引用1  

del删除的是变量,而不是数据。

作业

  • 通过循环找出10-20的质数
    在这里插入图片描述
  • 打印空心矩形
    在这里插入图片描述
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门