限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: muyang-0410

引言:

在上个章节中,我们已经计算出了一个月的折旧金额,但是,如果要计算12个月的折旧额,难道要重复写12次计算公式吗?每个月计算折旧的公式是一样的,有没有一种办法能让这个公式反复利用,减少重复呢?“循环”就是减少重复的利器,里有两种循环方式,一种是for循环,一种是while循环,接着,我们分别解释这两种循环如何书写。

01 while循环语句

利用while语句,可以让一个代码块一遍又一遍的执行。只要while语句的条件为True,while子句中的代码就会执行。

while循环的标准写法需满足三个要件(表达式):

i = 0 # 初始化表达式:通过初始化表达式初始化一个变量

while i

print (i)

i += 1 # 更新表达式:修改初始化变量的值

注意:缺少更新表达式或条件表达式永远满足(比如while 1=1)会引起死循环(程序不断跑下去),死循环可以使用 CTRL+C 来中断循环。

我们用一个简单的例子,来说明while语句的实现效果,计算1到100自然数的和(答案5050):

sum = 0

n=1

while n

sum += n

n+=1

间隔符号的作用_间隔符在哪里_间隔符

print(sum)

可以看到,while循环就像跑道一样,每跑一圈就计算一个sum值并更新n值,一直到n更新到不满足while条件为止。

02 for循环语句

像while循环一样,for也可以完成循环的功能。不同的是间隔符,for通过遍历序列的每一个元素来实现循环,如一个列表或者一个字符串等。

来看一个例子,用for循环逐一输出列表里的每个成员:

#是一个list

= ['现金', '银行存款', '货币资金', '应收账款', '其他应收款']

#要求输出所有的名称

for in :

print ()

#输出结果是:

#现金

#银行存款

#货币资金

#应收账款

#其他应收款

那么,上文中同样的例子,计算1到100自然数的和,如果用for循环如何实现呢?

sum = 0

for n in range(101): # range() 函数可创建一个整数列表,一般用在 for 循环中

sum += n #见赋值运算符,意思是sum = sum+n

print(sum)

注意,这里调用了range函数,用来生成1-100的整数序列。range函数的调用方法为range(start,end,step),括号里是用逗号分开的参数,参数start起始值,end 终止值,step 步进值(默认为1)。

所以,for循环和while循环在某些程度上是可以相互替代的,具体使用的时候,可以根据条件要件是一个判断式还是一个序列来进行选择。

好了,学习了两种循环方式后,让我们回到本课开头的问题,如何连续计算固定资产12个月的折旧金额?

案例背景:某企业一固定资产的原价为10000元,预计使用年限为5年,预计净残值5%,按直线法计算折旧,截止上个月,累计折旧为8333.5元。

#变量赋值

=10000

year=5

srate=0.05

scrap= * srate

drate=1/year/12

= 8333.5 #期初累计折旧

=0

=[]

for i in range(12):

+=

= round(* drate,2) #本期折旧

=- – – scrap #固定资产净值

if >0:

=

else:

= round((- – scrap),2)

.()

print('1-12月的折旧金额为:',)

# 1-12月的折旧金额为: [166.67, 166.67, 166.67, 166.67, 166.67, 166.67, 166.48, 0.0, 0.0, 0.0, 0.0, 0.0]

03 嵌套循环

跟if嵌套类似,在一个循环里,也可以嵌套另一个循环。

for循环嵌套语法:

while循环嵌套语法:

04 跳转语句

break

在循环中,break语句的作用是满足条件时,提前退出循环。

n=1

while n

if n > 10: # 当n = 11时,条件满足,执行break语句

break # break语句会结束当前循环

间隔符_间隔符在哪里_间隔符号的作用

print(n,end=',') # print的end参数可以设置与下一个输出之间的间隔符,默认换行符

n+=1

else:

print(n)

#执行上述程序后,输出1,2,3,4,5,6,7,8,9,10,

在循环中,语句的作用是满足条件时,跳过当前的这次循环,直接开始下一次循环。

n=0

while n

n+=1

if n == 10: # 当n = 10时,条件满足间隔符,执行语句

# 语句会跳过当前循环

print(n,end=',')

else:

print(n+1)

#执行上述程序后,输出1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20

注意语句下更新表达式要写在前面哦,否则会跳过更新,循环永远停留在n=10里,造成死循环。

限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: muyang-0410