Python学习day5

本文主要介绍了Python中的控制语句,包括分支结构、三元条件运算符、分支嵌套以及循环结构。在循环部分,讲解了while和for循环的使用,涉及到break和continue语句的控制流程。此外,还探讨了for循环的else语句以及如何遍历可迭代对象,特别是zip函数在多列表遍历和字典操作中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

控制语句

分支结构

a = input("请输入学生成绩:")
if int(a)<60:   #当条件判断为 False就继续往下判断
    grade="不及格"
elif 60<=int(a)<80:
    grade="及格"
elif 80<=int(a)<90:
    grade="良好"
else: grade="优秀"
print("成绩是{0},等级{1}".format(a,grade))
#多分支结构需要从小到大的判断范围,父子集关系

三元条件运算符

num = input("请输入一个数字:")
print(num if int(num)<10 else "数字太大")
#True时返回 True条件 else False时返回

分支嵌套

score=int(input("请输入学生成绩:"))
if score>100 or score <0:
    score = int(input("请输入一个0~100之间的数字:"))
if score>=90:
    grade="优秀"
elif score>=80:
    grade="良好"
elif score>=60:
    grade="合格"
else: grade="不合格"
print("分数为{0},等级为{1}".format(score,grade))

#分支嵌套结构适用于有大条件限制下才能进入条件判断的结构

循环结构

while

num=0
sum_all=0
while num<=100:
    sum_all+=num
    num+=1
print("0~100求和等于",sum_all)

#while条件判断为True,循环执行,里面要放结束条件

break        跳出当前循环

while True:
    a=input("请输入一个字符:")
    if a=="q" or a=="Q":
        print("循环结束")
        break
    else:
        print(a)
#监听用,满足一定条件时才退出循环

continue        结束本次循环,返回循环开始,从下一次开始执行

#continue同样只作用于最近的一层循环,只跳过本次循环,但不跳出循环的结构
salary=[]
num=0
salary_sum=0
while True:
    s=input("请输入员工的薪资(按q结束)")
    if s.upper()=="Q":
        print("录入完成")
        break
    if float(s)<0:
        print("输入薪资有误,请重新输入")
        continue
    num+=1
    salary.append(s)
    salary_sum+=float(s)
print("员工数量:{0}".format(num))
print("薪资明细:",salary)
print("平均薪资:{}".format(salary_sum/num))

for循环

for i in range(1,10):
    for j in range(1,i+1):
        c=i*j
        print("{0}*{1}={2}".format(i,j,c),end = "\t")
    print()
#打印九九乘法表

r1={"name":"高小一","age":18,"salary":30000,"city":"北京"}
r2={"name":"高小二","age":19,"salary":20000,"city":"上海"}
r3={"name":"高小三","age":21,"salary":10000,"city":"深圳"}
tb=[r1,r2,r3]
for i in range(3):
    s=tb[i].get("salary")
    if s >=15000:
        print(tb[i].get("name"),tb[i].get("age"),tb[i].get("salary"),tb[i].get("city"))

循环的else语句        可选语句

salary=[]
num=0
salary_sum=0
for i in range(4):
    s=input("请输入四个员工的薪资(按q结束)")
    if s.upper()=="Q":
        print("录入完成")
        break
    if float(s)<0:
        print("输入薪资有误,请重新输入")
        continue
    num+=1
    salary.append(s)
    salary_sum+=float(s)
else: print("您已经成功录入四个人的薪资")
print("员工数量:{0}".format(num))
print("薪资明细:",salary)
print("平均薪资:{}".format(salary_sum/num))
#循环的else语句是在正常完成所有循环以后才会执行的语句;被提前break不会触发else

循环遍历可迭代对象

a=(10,20,30)
for i in a:
    print(i)
#元组遍历

a=[10,20,30]
for i in a:
    print(i)
for i in range(len(a)):
    print(a[i])
#列表的遍历二者皆可

a="abcdef"
for i in a:
    print(i)
#字符串的遍历 字符串可以直接作为range,也可以将字符串转为list(),list后字符串转为列表形式['a', 'b', 'c', 'd', 'e', 'f']

a={"name":"jim","age":18,"job":"student"}
for i in a: #默认是键
    print(i)
for i in a.keys():
    print(i)
for i in a.values():
    print(i)
for i in a.items():
    print(i)
#字典的遍历可以通过命令选择keys,values,items

zip多列表遍历

names = ["jim","jack","leo"]
ages=[18,19,20]
jobs=["students","teacher","worker"]
for i in list(zip(names,ages,jobs)):
    print(i)
#使用迭代器zip将元组转换成列表

for a,b,c in zip(names,ages,jobs):
    print("{0} {1} {2}".format(a,b,c))
'''
jim 18 students
jack 19 teacher
leo 20 worker         a,b,c同时进迭代器循环,进行遍历;事实上用for a,b,c in range(3):同样可以遍历
'''

字典易混淆的知识

1.列表存储字典

a1={}

a2={}

a3={}

tb=[a1,a2,a3]

可以方便的进行get操作,借助list的有序性,字典中存储的是每一行的数据

2.zip创建

a=() or []

b=() or []

#也可以是列表形式,但是元组的读取处理更高效

a中只存储键名,b中只存储值

list(zip(a,b))        创建含有元组的列表

dict(zip(a,b))        创建字典

3.多信息列表的循环遍历

信息按列储存,生成生成器,多变量遍历

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值