python基础系列 (四)

python基础系列 (四)

python条件语句,循环语句:if-elif-else、for in、while。

文章目录

python基础系列 (四)

文章目录

介绍

二、循环语句

三、其他

range对象

可以用于while,for循环中的句子:

循环代码优化:

zip()并行迭代

四、案例


介绍

python语句:if-elif-else、for in、while。


一、条件语句

1、if 条件:                  [条件为True,执行语句,False不执行。]

                语句 

2、if 条件1:               [判断哪个条件为T,T执行语句,都不为T,执行else语句]

                语句1  

      elif 条件2:

                语句2

      else:

                语句3 

 三元条件运算符:

        条件为真的值 if(条件表达式)else 条件为假的值

1、if 条件:                  [条件为True,执行语句,False不执行。]

                <语句> 

2、if 条件1:               [判断哪个条件为T,T执行语句,都不为T,执行else语句]

                <语句1>

      elif 条件2:

                < 语句2>

      else:

                <语句3> 

 三元条件运算符:

        条件为真的值 if(条件表达式)else 条件为假的值

Python 3.10 增加了 match...case 的条件判断,match 语句用于匹配 value 的不同情况,每个 case 语句表示一种可能的匹配情况,_ 通配符表示其他情况。

match value:
    case :
        <语句1>
    case :
        <语句2>
    case :
        <语句3>
    case _:
        <语句4>

二、循环语句

while 条件/True:

        <语句>【while下的语句必须有改变条件的语句,可以结束循环的条件,不然会成为死循环】

循环语句/循环遍历:

for 变量 in 可迭代对象:【可迭代对象:字符串,列表、元组、字典、迭代器对象、生成器对象】

        <语句>

三、其他

range对象

range(start,end,[step])是一个迭代器对象,用来生成指定范围的数字序列。

可以用于while,for循环中的句子:

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

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

else语句:如果for,while语句没有被break中断正常结束循环,可以执行else下的语句,否则不执行。

循环代码优化:

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

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

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

        4. 连接多个字符尽量使用 join(),不用 ‘+’ 。

        5.列表进行元素插入和删除,最好在尾部操作,在中间会涉及到大量的迁移操作。

zip()并行迭代

可以通过zip()函数对多个序列进行并行迭代,在长短不一的序列中在"最短的序列" 用完时,会停止。

四、案例

#条件分支语句:(动物年龄)
age = int(input("请输入年龄\n"))
if age <= 0:
    print('重新输入')
elif age == 1:
    print('刚成年')
elif age >= 2 :
    print('好好爱它')
else:
    print('输入错误')

#三元条件运算
num = int(input('请输入一个整数'))
print('数字小于等于10'if(num)<=10 else '数字大于10')

#match...case
week = input('请输入数字,今天星期几: ')
match week:
    case '1':
        print('今天是周一')
    case '2':
        print('今天是周二')
    case '3':
        print('今天是周三')
    case '4':
        print('今天是周四')
    case '5':
        print('今天是周五')
    case '6':
        print('今天是周六')
    case '7':
        print('今天是周日')
    case _:
        print('输入错误')


#简单的计算器
def add(a,b):
    return a+b

def subtract(a,b):
    return a-b

def multiply(a,b):
    return a*b

def divide(a,b):
    if b==0:
        print('除数不能为0')
    else:
        return a/b

while True:
    select = int(input("选择一个运算:\n1. 加法\n 2. 减法\n 3. 乘法\n4. 除法\n5. 退出"))

    if (select in [1,2,3,4]):
        a = int(input("请输入数字a"))
        b = int(input('请输入数字b'))

        if select == 1:
            print(add(a,b))
        elif select == 2:
            print(subtract(a, b))
        elif select == 3:
            print(multiply(a, b))
        elif select == 4:
            print(divide(a, b))

    elif select == 5:
        break
    else:
        print('选择不对请重新输入')


#输出制定范围的质数(大于1的自然数,只能被他自身和1整除)
min_num = int(input('请输入最小的范围'))
max_num = int(input('请输入最大的范围'))
su_num= []
for i in range(min_num,max_num+1):
    if i>1:
        is_prime =True
        for num in range(2,i):
            if (i % num) == 0:
                is_prime=False
                break
        if is_prime:
            su_num.append(i)

print(f'{min_num}--{max_num}范围的素数有:{su_num}')


#遍历字符串
for x in list('abcdefg'):
    print(x,end='\t')


#99乘法表
for i in range(1,10):
    for j in range(1,i+1):  #i,9是反着输出
        print(f'{j}*{i}={i*j}\t',end='')
    print()




#循环后的else语句,正常结束循环执行,被break终端则不执行
salarySum=0
salarys = []

for i in range(4):
    s = input('请输入4名员工的薪资(按Q or q中途结束)')
    if s.upper() == 'Q':
        print('录入结束,退出')
        break
    if float(s)<0:
        continue

    salarys.append(float(s))
    salarySum += float(s)
else:
    print('您已经输入4个员工薪资')

print('录入薪资:',salarys)
print('平均薪资{0}'.format(salarySum/4))

#zip()并行迭代使用
name  = ('张三','李斯','王五','小刘')
age = (22,23,24,25)
sex = ('男','男','女')
for name,age,sex in zip(name,age,sex):
    print(("{0}-{1}-{2}").format(name,age,sex))

#张三-22-男
#李斯-23-男
#王五-24-女

你可能感兴趣的:(python,开发语言)