IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> day5----python基础之循环结构 -> 正文阅读

[Python知识库]day5----python基础之循环结构

循环结构

?

循环结构用来重复执行一条或多条语句。表达这样的逻辑:如果符合条件,则反复执行循环体里的语句。在每次执行完后都会判断一次条件是否为 True,如果为 True 则重复执行循环体里的语句。图示如下:

while 循环

while 循环的语法格式如下:

while???? 条件表达式:循环体语句

for 循环和可迭代对象遍历

?for 循环通常用于可迭代对象的遍历。for 循环的语法格式如下: for???? 变量?????? in 可迭代对象:循环体语句

可迭代对象

Python 包含以下几种可迭代对象:

  1. 序列。包含:字符串、列表、元组
  2. 字典
  3. 迭代器对象(iterator)
  4. 生成器函数(generator)
  5. 文件对象

range 对象

range 对象是一个迭代器对象,用来产生指定范围的数字序列。格式为:

???????????????????????????????????????????????????????????????? range(start, end?? [,step])

生成的数值序列从 start 开始到 end 结束(不包含 end)。若没有填写 start,则默认从 0

开始。step 是可选的步长,默认为 1。如下是几种典型示例: for i in range(10)?????? 产生序列:0 1 2 3 4 5 6 7 8 9 for i in range(3,10)? 产生序列:3 4 5 6 7 8 9 for i in range(3,10,2)?????? 产生序列:3? 5???? 7???? 9

break 语句

break 语句可用于 while 和 for 循环,用来结束整个循环。当有嵌套循环时,break 语句只能跳出最近一层的循环。

continue 语句

continue 语句用于结束本次循环,继续下一次。多个循环嵌套时,continue 也是应用于最近的一层循环。

else 语句

while、for 循环可以附带一个 else 语句(可选)。如果 for、while 语句没有被 break 语句结束,则会执行 else 子句,否则不执行。语法格式如下:

while???? 条件表达式:循环体 else:

语句块

或者:

for? 变量?????? in??? 可迭代对象:循环体 else:

语句块

使用 zip()并行迭代?

我们可以通过 zip()函数对多个序列进行并行迭代,zip()函数在最短序列“用完”时就会停止。

列表推导式

列表推导式生成列表对象,语法如下:

[表达式 for item in 可迭代对象 ] 或者:{表达式 for item in 可迭代对象 if 条件判断}

字典推导式

字典的推导式生成字典对象,格式如下:

?????????????? {key_expression??? :??? value_expression???? for??? 表达式???? in??? 可迭代对象}

类似于列表推导式,字典推导也可以增加 if 条件判断、多个 for 循环。

集合推导式

集合推导式生成集合,和列表推导式的语法格式类似:

{表达式? for? item?????? in 可迭代对象 } 或者:{表达式?????? for? item?????? in 可迭代对象?? if???? 条件判断}

随堂训练

a={'name':'ding','age':18,'job':'student'}
for x in a.keys():
    print(x)
print("#################")

#100以内奇数和
sum=0
for i in range(100):
    if i%2==0:
        sum=sum+i
print(sum)

H:\Anaconda3\python.exe H:/PycharmProjects/MyDemo/day5/demo1.py
name
age
job
#################
2450

Process finished with exit code 0

#打印9x9乘法表

for i in range(1,10):
    for j in range(1,i+1):
        print("{0}x"
              "{1}={2}".format(i,j,i*j),end="\t")
    print()

H:\Anaconda3\python.exe H:/PycharmProjects/MyDemo/day5/demo2.py
1x1=1?? ?
2x1=2?? ?2x2=4?? ?
3x1=3?? ?3x2=6?? ?3x3=9?? ?
4x1=4?? ?4x2=8?? ?4x3=12?? ?4x4=16?? ?
5x1=5?? ?5x2=10?? ?5x3=15?? ?5x4=20?? ?5x5=25?? ?
6x1=6?? ?6x2=12?? ?6x3=18?? ?6x4=24?? ?6x5=30?? ?6x6=36?? ?
7x1=7?? ?7x2=14?? ?7x3=21?? ?7x4=28?? ?7x5=35?? ?7x6=42?? ?7x7=49?? ?
8x1=8?? ?8x2=16?? ?8x3=24?? ?8x4=32?? ?8x5=40?? ?8x6=48?? ?8x7=56?? ?8x8=64?? ?
9x1=9?? ?9x2=18?? ?9x3=27?? ?9x4=36?? ?9x5=45?? ?9x6=54?? ?9x7=63?? ?9x8=72?? ?9x9=81?? ?

Process finished with exit code 0
?

salary=[]
t=0
sum=0
for i in range(4):
    s=input("请输入薪资P(按Q或q结束):")
    if s.upper()=='Q':
        print("录入中断,退出")
        break
    if float(s)<0:
        print("重新输入!")
        continue
    t+=1
    salary.append(float(s))
    sum+=float(s)
else:
    print("全部录入完成")

print("员工数:{0}".format(t))
print("录入薪资:{0}".format(salary))
print("平均薪资:{0}".format(sum/t))

H:\Anaconda3\python.exe H:/PycharmProjects/MyDemo/day5/demo3.py
请输入薪资P(按Q或q结束):12
请输入薪资P(按Q或q结束):23
请输入薪资P(按Q或q结束):24
请输入薪资P(按Q或q结束):62
全部录入完成
员工数:4
录入薪资:[12.0, 23.0, 24.0, 62.0]
平均薪资:30.25

Process finished with exit code 0
?

#zip并行迭代

names=("ding1","ding2","ding3")
ages=(18,20,19)
address=("hangzhou","shanghai","beijing")

for names,ages,address in zip(names,ages,address):
    print("{0}---{1}---{2}".format(names,ages,address))

H:\Anaconda3\python.exe H:/PycharmProjects/MyDemo/day5/demo4.py
ding1---18---hangzhou
ding2---20---shanghai
ding3---19---beijing

Process finished with exit code 0

#字典推导式
my_text="I love you blake, I love you baby"
char_count={c:my_text.count(c)for c in my_text}
print(char_count)

#集合推导式
m={x for x in range(1,100)if x%9==0}
print(m)

#生成器推导式(生成元组)
gnt=(x for x in range(4))
print(gnt)
print(tuple(gnt))

H:\Anaconda3\python.exe H:/PycharmProjects/MyDemo/day5/demo5.py
{'I': 2, ' ': 7, 'l': 3, 'o': 4, 'v': 2, 'e': 3, 'y': 3, 'u': 2, 'b': 3, 'a': 2, 'k': 1, ',': 1}
{99, 36, 72, 9, 45, 81, 18, 54, 90, 27, 63}
<generator object <genexpr> at 0x00000181D9B48248>
(0, 1, 2, 3)

Process finished with exit code 0

#画?
import turtle

my_colors=("red","blue","green","yellow","black")
for i in range(100):
    turtle.penup()
    turtle.goto(0,-i*10)
    turtle.pendown()
    turtle.color(my_colors[i%len(my_colors)])
    turtle.circle(10+i*10)

turtle.done()

?

#画棋盘
import turtle

#     turtle.goto(x,180)
for i in range(0, 181, 10):
    turtle.goto(180, i)
    turtle.penup()
    turtle.goto(0, i+10)
    turtle.pendown()

for j in range(0,181,10):
    turtle.penup()
    turtle.goto(j,0)
    turtle.pendown()
    turtle.goto(j,180)


turtle.done()

?

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-01-17 11:28:10  更:2022-01-17 11:30:08 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 1:27:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码