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知识库 -> (Python语法篇)5.控制语句(2)循环结构 -> 正文阅读

[Python知识库](Python语法篇)5.控制语句(2)循环结构

1,while 条件表达式:

循环体语句

#计算前一百项的和
x = int(input("请输入一个数:"))
t=0
sum=0

while t<=x:
    sum +=t
    t+=1
print(sum)

2,for 循环和可迭代对象遍历

for 变量 in 可迭代对象:

????????循环体语句

Python中2的可迭代对象:序列(字符串,列表,元组),字典,迭代器对象,生成器对象,文件对象。

#9*9乘法表
for x in range(9):
    for y in range(x+1):
        print("{}*{}={}".format((x+1),(y+1),(x+1)*(y+1)),end=" ")
    print()
for x in "ABCDEFGHIJK":  #遍历字符串
    print(x)

d = {"CD":12,"SH":13,"CQ":"NIUBI" #遍历字典
for x in d.items():
    print(x)

3,嵌套循环:一个循环体内套另一个循环

for x in range(5):
    for y in range(5):
        print(x,end=" ")
    print()

4,break语句

结束整个循环,当有嵌套时,break只能跳出最近一层循环。

while True:
    s = int(input("请输入一个整数:"))
    if s==0:
        break
    else:
        print(s)

5,continue语句

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

sum = 0
count = 0
salary = []
while True:
    s = input("请输入员工的薪资(按Q和q结束)")
    if s =="Q":
        break;
    if float(s)<0:
        continue
salary.append(float(s))
sum+=s
count+=1
print(sum)
print(count)
print(sum/count)

6,else语句:while,for循环可以附带一个else语句,如果for ,while语句没有被break语句结束,则会执行else子句,否则不执行。

while 条件表达式:

? ? ? ? 循环体

else:

? ? ? ? 语句块

or?

for 变量? in 可迭代对象:

? ? ? ? 循环体

else:

? ? ? ? 语句块

salarysum = 0
salary =[]
for i in range(4):
    s = input("请输入一共4名员工的薪资:")
    
    if s.upper()=='Q':
        print("录入完成,退出")
        break
    if float(s)<0:
        continue
    salary.append(float(s))
    salarysum += float(s)

else:
    print("您已经全部录入4名员工的薪资")

print("录入薪资:",salary)
print("平均薪资{0}".format(salarysum/4))

7,循环代码优化技巧

(1),尽量减少循环内部不必要的计算

(2),嵌套循环中,尽量减少内存循环的计算,尽可能向外提

(3),局部变量查询较快,尽量使用局部变量

(4),连接多个字符时,使用 join而不使用+

(5),列表进行元素插入和删除,尽量在列表尾部操作。

8,zip进行并行迭代。最小的序列遍历完毕则循环遍历完毕。

#测试zip并行迭代
names = ("高超","高老二","高老三")
ages = (18,16,20,25)
jobs = ("老师","程序员","公务员")
for name,age,job in zip(names,ages,jobs):
    print("{}--{}--{}".format(name,age,job))

9,推导式创建序列

(1),列表推导式

#列表推导式

y = [x*2 for x in range(1,5) if x%5==0]
print(y)

t=[]
for x in range(1,5):
    t.append(x*2)
print(t)

cells = [(row,col) for row in range(1,10) for col in range(1,10)]
for cell in cells:
    print(cell)

[表达式 for item in 可迭代对象 if 条件判断]

(2),字典推导式

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

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

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

(3),集合推导式

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

(4),生成器推导式

#生成器推导式
gnt=(x for x in range(1,100) if x%9==0)#gnt就是一个生成器,gnt产生后,当你调用它时,调用一次产生一个值,
# 当生成的值全调用完后,再调用,为空
for x in gnt:
    print(x,end=" ")
for x in gnt:
    print(x,end=" ")

10,综合练习:画一堆同心圆

from turtle import *
m = Pen()
m.width=4
my_colors=["blue","black","yellow","red","green"]

x = int(input("请输入你想画几个同心圆:"))
m.speed(0)
y = [m*20 for m in range(1,x+1) if x>=1]
t=-20
count=0

for n in y:
    penup()
    goto(0,t)
    pendown()
    color(my_colors[count%len(my_colors)])
    circle(n)
    t +=-20
    count += 1
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-28 11:52:10  更:2022-01-28 11:52:33 
 
开发: 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 2:45:55-

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