①顺序结构:一个命令接一个命令的执行
②选择/分支结构:根据判断条件选择不同的语句进行执行
③循环结构:在条件成立时反复执行语句

顺序结构
小王是个Python程序猿,每天要顺序的做很多工作。Python中通常的情况下程序的执行是从上往下逐行一一执行。下面代码描述小王的工作状态。
print ("小王8点上班,写代码")
print ("小王12点吃午饭")
print ("小王1点,写代码")
print ("小王6点,吃晚饭")
print ("小王10点,继续写代码")
print ("小王11点,下班结束忙碌的一天")
执行结果
小王挣8K一个月,开始思考了自己的工资是否匹配的问题。
分支结构Python中if语句是用来判断选择执行哪个语句块的,配合else, elif可以实现按条件的执行分支。
先判断if的条件 满足的话执行if分支.如果不满足再看elif的条件 满足的话执行elif的分支,如果不满足再看下一个elif…………如果都不满足,执行else的条件分支。Python中不使用花括号来表示语句块,而是使用缩进,相同缩进量的若干条语句表示一个语句块。
小王先是打听了老李的收入,发现老李拿3W
salary = 30000
if salary > 20000:
print ("工资超过2W,太爽了")
elif salary > 10000:
print ("工资1W+,还行吧")
elif salary > 5000:
print ("工资5K+,不开心")
elif salary > 3000:
print ("工资3K+,想哭")
else:
print ("工资不到3K,............")
老李说他拿3W, 执行了分支
if salary > 20000:
print ("工资超过2W,太爽了")
老李说感觉太爽了!
!
!小王拿9K, 执行了分支
elif salary > 5000:
print ("工资5K+,不开心")
小王拿9K,感觉有点不开心了。
他准备去找老板谈判涨工资。
循环结构循环是让计算机做重复任务的有效的方法,Python中可以使用while循环或for循环。
while循环
小王目前9K, 心里想如果不涨到2W以上,就一直给老板谈,循环到底。
而老板每遇到小王谈就给小王涨2K。
salary = 9000
count = 0
while salary< 20000:
count = count + 1
salary = salary + 2000
print("第%s轮谈判老板涨了2000"%(count),"小王的工资为",salary)
else:
print ("小王满意了,谈判循环结束")
请问小王一共要给老板谈判多少次(while循环要执行几遍)?
最后小王工资涨到了多少?
思考一下……
for循环
给小王工资调整完成后,老板感觉不开心了。一是跟小王谈了6次,花了他不少时间。二是如果每个员工都来这么找他谈涨工资,那他可吃不消。
他找来了HR总监商量对策,HR总监给出了定岗定薪的方案。给员工定不同的职级,对应不同的薪资范围。这样能省去老板的烦恼,还能让员工看到希望,激励他们更加努力的工作。
公司的基层员工分为P1-P6,6个职级,根据小王的评定,他位于P4,对应的薪资为2W.
老板一想,对比新方案,之前浪费了时间,还多涨了1K。以后就按这个新方案执行。
salary = {'P1':9000, 'P2':12000, 'P3':16000,'P4':20000,'P5':25000,'P6':30000}
wang_Rank = "P4"
for i in salary:
if wang_Rank == i:
print ("小王职级是",i,"岗位薪资调整为",salary[i])
思考一下…… for循环的用法
break、continue
break、continue一般与循环中的分支结构if一起使用,可以用来跳出循环;pass用于占位,解释器遇到pass什么也不做,如果有想好某段代码块怎么写,可以先使用pass占据该位置。
break:跳出整个循环结构continue:跳出当前循环,执行下一个循环pass:占位符,什么也不做
例如前文中提到的代码,应该在循环体中加一个break就更完美了。因为已经完成了跟小王
调薪,工作就结束了,再去比较P5,P6的标准完全没有意义,这时候加上一个break,表示跳出整个循环。
salary = {'P1':9000, 'P2':12000, 'P3':16000,'P4':20000,'P5':25000,'P6':30000}
wang_Rank = "P4"
for i in salary:
if wang_Rank == i:
print ("小王职级是",i,"岗位薪资调整为",salary[i])
break
虽然执行结果跟前文一致,但节省没必要的工作,提高了效率。
如果问题欢迎评论区留言!