首页 » 软件优化 » Python控制流,程序员涨薪记(小王循环执行分支工资)

Python控制流,程序员涨薪记(小王循环执行分支工资)

南宫静远 2024-11-25 20:01:10 0

扫一扫用手机浏览

文章目录 [+]

①顺序结构:一个命令接一个命令的执行

②选择/分支结构:根据判断条件选择不同的语句进行执行

③循环结构:在条件成立时反复执行语句

Python控制流,程序员涨薪记(小王循环执行分支工资) 软件优化
(图片来自网络侵删)

顺序结构

小王是个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

虽然执行结果跟前文一致,但节省没必要的工作,提高了效率。

如果问题欢迎评论区留言!

标签:

相关文章