#4.4.1 循环基本格式:
#for 循环基本格式如下:for var in object: 循环体语句块 else: 语句块
#else 部分可以省略。for执行时,依次将可迭代对象object中的值赋值给变量var。var每赋值一次,则执行一次循环题语句块。
#循环结束时,如果有else部分,则执行对应的语句块。else 部分只在正常结束循环时执行。如果用break跳出循环,则不会执行else部分。
#用x迭代元祖中的对象,其中包含一个嵌套 字元祖。
for x in (1,2,3,(4,5)):
print(x)
#代码
for x in (1,2,3):
print(x*2)
else:
print('loop over')
#以下for实例中使用了break语句,break语句用于跳出当前循环:
sites=["baidu","Google","Runoob","Taobao"]
for site in sites:
if site=="Runoob":
print("python学习")
break
print("循环数据"+site)
else:
print("没有循环的数据")
#以下实例使用了continue,continue用于跳出本次循环后面的语句,直接进入下一次循环。
for letter in "python":
if letter=="o":
continue
print("当前字母为:",letter)
#在迭代字典对象时,变量依次迭代字典的各个键。例如:
d={'name':'John','age':25}
for x in d:
print(x,d[x])
#可以使用range()函数类生成包含多个整数的range对象,其基本格式如下:
#range(end)
#range(start,end[,step])
#只指定end参数时,生成整数范围为0~end-1。指定start时,生成整数范围为start~end-1,间隔为step。step默认为1。
for x in range(3):
print(x)
for x in range(-2,2):print(x)
for x in range(-2,2,2):print(x) #加上了步长2
#如下代码实现从1到1000的求和运算;
sum=0
for i in range(1,101):
sum+=i
else:
print("1到1000的和:",sum)
#如下实现从1到100的奇数和:
sum=0
for i in range(1,101):
if i%2==1:
sum+=i
else:
print("1加到100的奇数和为:",sum)
#以下代码实现从1加到100的偶数和的;
sum=0
for i in range(1,101):
if i%2==0:
sum+=i
else:
print("1到100的偶数和为:",sum)
#数学中有时候也要进行阶乘的计算,5!=1*2*3*4*5,从1到5实现相乘.
res=1
for i in range(1,6):
res*=i
else:
print("5的阶乘是:",res)
#现在需要统计10个学生的考试分数,并求出总和,分数需要通过输入获取,如下是具体的过程:
score=0
sum=0
for i in range(1,11):
score=int(input("请输入第"+str(i)+"个学生的分数:"))
sum+=score
else:
print("学生的总分是:",sum)
#*******多个变量迭代****************
#可在for循环中用多个变量来迭代序列对象。例如:
# for x in range(3):
# print(x)
# for x in range(-2,2):
# print(x)
# for x in range(-2,2,2):print(x)
# #其他代码;
# for(a,b)in((1,2),(3,4),(5,6)):
# print(a,b)
#--------------break和continue------------
#break语句用于跳出当前循环,即提前结束循环(包括跳出else)。Continue语句用于跳过循环体剩余语句,回到循环开头开始下一次迭代
#下面的代码用for循环找出100~999范围内的前10个回文数字,3位数中个位和百位相同的数字为回文数字。
#统计100-999之间的回文数字,例如111,121,131,141
#如果统计的回文数字够10个的话,停止循环
a=[]
n=0
for x in range(100,999):
s=str(x)
#如果不是回文数字,则跳到循环开头,x取下一个值开始循环;
if s[0]!=s[-1]:continue
#如果是回文数字,将其加入到列表;
a.append(x)
#累计回文数字个数;
n+=1
#找出10个回文数字时,跳出for循环。
if n==10:break
else:
print("循环结束")
print(a)
#嵌套使用for循环,python 允许嵌套for循环,即在for循环内部使用for循环。例如:下面的代码是输出100以内的素数(素数是指
#除了1和它本身之外不能被其他数整除的数)。
#2.3是素数,直接输出,end="",使后续输出不换行;
print(2,3,end=" ")
for x in range(4,100):
for n in range(2,x):
#若余数为0,说明x不是素数,结束当前for循环
if x%n==0:
break
else:
#正常情况下结束for循环,说明x没有被任何整数整除,是素数,输出
print(x,end=" ")
else:
print("结束")
附上:
加号 + 和 逗号, 都可以用来拼接print的输出内容,但是两者也是有区别的。
加号拼接:
print ('zwf'+'wk')
结果:
zwfwk
逗号拼接:
print ('zwf','wk')
结果:
zwf wk
发现没有,但是用逗号连接,两者中间多了一个空格。
加号 + :两边只能是同类型的相加, 逗号,:两边可以是不同类型的,甚至是运算 加号更多的理解为加号的运算,逗号更大程度上就是连接,将内容连接起来
加号:
print('zwf'+'wk')
print (5+5)
结果:
zwfwk
10
逗号:
print('zwf','wk')
print('zwf', 5)
print (5,5)
print('zwf',5+5,1>3)
结果:
zwf wk
zwf 5
5 5
zwf 10 False