python(for语句,嵌套循环,函数)

for循环和可迭代对象遍历

for循环语法格式:
for 变量 in 可迭代对象(序列,元组,列表…)
循环体语句

range对象
range(start,end,[step])
:从start到end,不包括end

num_all = 0
for i in range(101):
    num_all += i
print(num_all)

嵌套循环

for x in range(5):
    for y in range(5):
        print(x,end="\t")
    print()    #天然具有换行的效果
九九乘法表
```python
for m in range (1,10):
    for n in range(1,10):
        if n<=m:
        #注意format前面需要一个点,如果不添加end="\t"则天然换行
            print("{0}*{1}={2}".format(m,n,(m*n)),end = "\t")
        else:
            pass
    print()

break语句

用来结束整个循环

continue 语句

结束本次循环,进行下一次循环

else语句

salarySum = 0
salarys = []
for i in range(4):
    s = input("请输入一共4名员工的薪资(按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("平均薪资{0}".format(salarySum/4))

循环代码优化

  1. 尽量减少内部必要的计算
  2. 嵌套循环中,尽量减少内层循环的计算,尽可能向外提
  3. 局部变量查询比较快,尽量使用局部变量

其他优化手段

  1. 连接多个字符串,使用join而不是使用+
  2. 进行元素插入和删除,尽量在类表尾部操作

zip()并行迭代

name = ("高企","流弊","老八")
ages = (2,5,7)
jobs = ("老师","程序员","校长")

for i in range(3):
    print("{0}--{1}--{2}".format(name[i],ages[i],jobs[i]))

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

推导式创建序列

列表推导式
语法:
[表达式 for item in 可迭代对象 ]

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

字典推导式
语法:
[key:value for 表达式 in 可迭代对象]

my_text = "sdf adfadfaef addf wee"
char_count = {c:my_text.count(c) for c in my_text}
print(char_count)

生成器推导式

例题:

import turtle
t = turtle.Pen()
my_colors = ("red","yellow","green","black")
t.width(4)
t.speed(0)
for i in range(10):
    t.penup()
    t.goto(0,-i*10)
    t.pendown()
    t.color(my_colors[i%len(my_colors)])
    t.circle(15+i*10)
turtle.done()

在这里插入图片描述


函数用法和底层分析

函数的定义和调用

定义:def 函数名(参数列表)
调用: 函数名() ,记得加上括号
在这里插入图片描述

返回值的基本用法

return:1. 返回值 2. 结束函数执行
注:

  1. 函数中有return,则结束函数执行并返回值
  2. 没有return,则返回None
  3. 返回多个值可以用列表,元组,字典,集合存起来
def test03(x,y,z):
    return[x*10,y*10,z*10]
print(test03(1,2,4))
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值