ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

循环结构

2020-09-02 22:31:30  阅读:145  来源: 互联网

标签:语句 else range 循环 time print 结构


while循环

while 循环条件 :

  循环体语句

 

for循环 :

  for 变量 in 可迭代对象 :

    循环体语句

range对象:

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

  range(start, end [, step])

从start开始,到end(不包括end) 结束,step缺省为0

嵌套循环:

 一个循环体内套上另一个循环,无限套娃

for i in range(5):
    for j in range(5):
        print(i,end='\t')
    print()

打印乘法口诀表:

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

break 语句:

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

while True:
    if input() == '0':
        break

continue语句:

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

 

else语句(循环语句里的else)

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

while 条件表达式:

  循环体

else:

  语句块

或者

for 变量 in 可迭代对象:

  循环体

else:

  语句块

salarysum = 0
salarys = []

for  i in range(4):
    s = input("请输入一共四名员工的薪资:(按Q或q终止输入)")

    if  s.upper()=='Q':
        print("录入完成,退出")
        break
    if float(s) < 0:
        continue
    salarys.append(float(s))
    salarysum += float(s)
else:
    print("录入完成")
print("录入薪资:",salarys)
print("平均薪资:",salarysum/4)

 

循环代码优化

1.尽量减少循环内部不必要的计算

2.嵌套循环中,尽量减少内层循环的计算,尽可能外提

3.局部变量查询快,尽量使用局部变量

import time
start = time.time()

for i in range(1000):
    result = []
    for m in range(10000):
        result.append(i*1000 + m*100)
end = time.time()
print("耗时{0}".format(end-start))

start2 = time.time()
for i in range(1000):
    result=[]
    c = i*1000
    for m in range(10000):
        result.append(c+m*100)
end2 = time.time()
print("耗时{0}".format(end2-start2))

其它优化手段

1.连接多个字符串,使用join而不使用+

2.列表进行元素插入和删除,尽量在列表尾部操作

 

标签:语句,else,range,循环,time,print,结构
来源: https://www.cnblogs.com/shengtudai/p/13604864.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有