Python从入门到入坟(4)

 

 

 

2020/05/29 控制语句
 

选择结构:

选择结构通过判断条件是否成立,来决定执行哪个分支,分为:单分支、双分支、多分支。

单分支选择结构:if语句

条件表达式详解:

在选择和循环结构中,条件表达式的值为False的情况如下:

False、0、0.0、控制None、空序列对象(空列表、空元组、空字典、空字符串)、空range对象、空迭代对象。

其他情况均为True。Python所有的合法表达式都可以看做条件表达式,甚至函数调用的表达式。

  • 条件表达式中,不能出现赋值操作符

双分支选择结构:if...esle...

三元条件运算符:条件为真时返回  if(条件语句)else  条件为假时返回

多分支结构:几个分支之间是有逻辑关系的,不能随意颠倒顺序。

选择结构嵌套:使用时一定要注意控制好代码块的缩进量,因为缩进量决定了代码的从属关系。

if 表达式1:

         语句块1

         if 表达式2:

                语句块2

         else:

                表达式3

else:

         if 表达式4

                语句块4

 

循环语句:

white循环:

输出1到10之间的数:

num = 0
while num <= 10:
    print(num, end='\t')
    num += 1

计算1到100之间数字的累加和:

num = 0
sum_all = 0
while num <= 100:
    sum_all = sum_all + num2
    num += 1
print("1到100所有数的累加和:",sum_all)

for循环和可迭代对象遍历:

可迭代对象:1.序列。包含:列表,元组,字符串。2.字典。 3.迭代器对象iterator。 4.生成器函数generator。

嵌套循环:

打印99乘法表:

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

break语句:可用于while和for循环,用来结束整个循环。

#测试break语句
while True:
    a = input("请输入一个字符(输入Q或q时退出):")
    if a == 'q' or a == 'Q':
        print("循环结束,退出")
        break
    else:
        print(a)

continue语句:continue语句用于结束本次循环,继续下一次。

#测试continue
empNum = 0
salarySum = 0
salary = []
while True:
    s = input("请输入员工的薪资(按Q或q结束):")
    if s.upper() == 'Q':
        print("录入完成,退出")
        break
    if float(s) < 0:
        continue
    empNum += 1
    salarys.appen(float(a))
    salarySum += float(a)

print("员工数{0}".format(empNum))
print("录入薪资:",salarys)
print("平均薪资:".format(salarySum/empSum))

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

while 条件表达式:
         循环体
else:
         语句块
或者:
for 变量 in 可迭代对象:
         循环体
else:
         语句块

循环代码优化:

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

其他优化手段:

  1. 连接多个字符,尽量使用join()而不适用+。
  2. 列表操作,尽量在尾部进行操作。

使用 zip()并行迭代:

可以通过

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

names = ("小明","小红","小黑","小白")
ages = (18,16,20,25)
jobs = ("老师","程序员","公务员")
for name,age,job in zip(names,ages,jobs):
print("{0}--{1}--{2}".format(name,age,job))

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值