韦德国际bv1946_www.bv1946com_韦德国际1946手机版
做最好的网站

序列中的元素个数决定了循环重复的次数上例中

日期:2020-01-10编辑作者:韦德国际bv1946计算机

1.for循环

来看一段简单的程序

for a in [3,4.4,'life'] print #依次打印列表里的每个元素

这个循环就是每次从列表[3,4.4,'life']中取出一个元素,然后将这个元素赋值给a之后执行隶属于for的程序,也就是调用print()函数,把这个元素打印出来for的基本用法:

for 元素 in 列表: statement

序列中的元素个数决定了循环重复的次数上例中有三个元素,所以print()会执行三次也就是说,for循环次数是确定的。for循环会依次从序列中取出元素,赋予给紧跟在for后面的变量a因此,尽管执行语句相同,但数据发生了变化所以相同的语句在执行三次后的效果也会发生变化

从序列中取出元素,再赋予给一个变量并在隶属程序中使用,是for循环一个便利之处若只想简单地重复特定的次数,不想建立序列,那么可以使用py提供的range()函数:

for i in range: print("hello world") #打印五次‘hello world’

程序中的5向range()函数说明了需要重复的次数因此,隶属于for的程序执行了5次这里,for循环后面依然有个变量i,它为每次循环起到了计数功能:

for i in range: print(i,'hello world') #打印序号和‘hello world’ 0 hello world1 hello world2 hello world3 hello world4 hello world

可以看到,py中range()提供的计数也是从0开始的和表的下标一样,还可以看到print()的新用法就是在括号中说明多个变量,用逗号分开,函数print()会把它们都打印出来

再看一个for循环的实用例子之前用元组纪录了房贷的逐年利率:

interest_tuple = (0.01,0.02,0.03,0.035,0.05)

假如有50万元的房贷,且本金不变,那么每年要还的利息有多少呢使用for循环计算:

total = 500000for interest in interest_tuple: repay = total * interest print('每年的利息:',repay)每年的利息: 5000.0每年的利息: 10000.0每年的利息: 15000.0每年的利息: 17500.0每年的利息: 25000.0

2.while循环

py中还有一种循环结构,即while循环用法:

i = 0while i < 10: print i = i   1 #从0打印到9

while后面紧跟着一个条件如果条件为真,则while会不停循环执行隶属于它的语句只有条件为假时,程序才会停止在while的隶属程序中,不断改变参与条件判断的变量i,直到它变成10不满足条件而终止循环,这是while循环常见的做法否则,若while条件始终为真,则会变成无限循环,例如

while True: print('Hello world')

3.跳过或终止

循环结构还提供了两个有用的语句,可以在循环结构内部使用用于跳过或终止循环

continue #跳过循环的这次执行,进行下一次的循环操作break #停止执行整个循环

例:

for i in range: if i == 2: continue print #打印0,1,3,4,5,6,7,8,9,跳过了2

当循环执行到i为2的时候,if条件成立,触发continue不打印此时的i,程序直接进行下一次循环,把3赋值给i继续执行for的隶属语句continue只是跳过某次循环,而break会终止整个循环

for i in range: if i == 2: break print #只打印0和1

当循环执行到i=2的时候,if条件成立,触发break整个循环停止,程序不再执行for循环内部的语句

小练习

假设我可以全额贷款买房。房屋总价为50万,为了吸引购房者,房贷前四年利率都有折扣,分别为1%,2%,3%,3.5%。其余年份里,房贷的年利率都是5%。我逐年还款,每次最多偿还3万元。那么,完全还清房款最少需要多少年?

i = 0residual=500000.0interest_tuple = (0.01,0.02,0.03,0.035) #利率元组repay = 30000.0while residual > 0: i = i 1 print('第',i,'年还是要还钱') if i <= 4: interest = interest_tuple[i-1] #序列的下标从0开始 else: interest = 0.05 residual = residual*(interest   1)-repayprint('第',i 1,'年终于还完了')第 1 年还是要还钱第 2 年还是要还钱第 3 年还是要还钱第 4 年还是要还钱第 5 年还是要还钱第 6 年还是要还钱第 7 年还是要还钱第 8 年还是要还钱第 9 年还是要还钱第 10 年还是要还钱第 11 年还是要还钱第 12 年还是要还钱第 13 年还是要还钱第 14 年还是要还钱第 15 年还是要还钱第 16 年还是要还钱第 17 年还是要还钱第 18 年还是要还钱第 19 年还是要还钱第 20 年还是要还钱第 21 年还是要还钱第 22 年还是要还钱第 23 年还是要还钱第 24 年还是要还钱第 25 年还是要还钱第 26 年还是要还钱第 27 年还是要还钱第 28 年还是要还钱第 29 年还是要还钱第 30 年还是要还钱第 31 年终于还完了

本文由韦德国际bv1946手机版发布于韦德国际bv1946计算机,转载请注明出处:序列中的元素个数决定了循环重复的次数上例中

关键词: 19468888伟德 Python 语句

来找多个元素范围引用基本样式

表的元素可以变更,因此可以对单个元素进行赋值可以通过下标说明想对哪个元素赋予怎样的值 example_list[1] = 3.0exa...

详细>>

解决 Python2 和 Python3 的共存问题,python2python3

解决 Python2 和 Python3 的共存问题,python2python3 首先安装两种版本的Python 进入系统属性更改环境变量 D:Python36Scripts;D:...

详细>>

一直没想过用python写分布式任务

前言 mapreduce在我的理解里一直都是java等语言的专利,介于python乃至于pypy的性能局限,一直没想过用python写分布式任务...

详细>>

而常看我博客的朋友应该知道我对python情有独钟

一. 农业时代 创业最重要的就是一个“快”字,所以最开始的时候,所有的架构都以快速出模型为前提。 而常看我博...

详细>>