for 循环 | 重复执行语句。在循环次数已知时使用for循环,且所有for循环均可用while循环实现。python中for循环可以遍历任何序列项目,如一个列表、字符串、元祖等 |
while 循环 | 在给定的判断条件为 true 时执行循环体,否则退出循环体。在循环次数未知时使用while循环。 |
嵌套循环 | 循环体中嵌套循环。 |
1、for循环的语法格式:
for 临时变量 in 列表或是字符串或是元祖或是集合或是字典或是文件等: 循环满足条件时执行的代码 else: 循环不满足条件时执行的代码
#重复执行语句。在循环次数已知时使用for循环, # 且所有for循环均可用while循环实现。python中for循环可以遍历任何序列项目, # 如一个列表、字符串、元祖等 #for循环的使用场景 ##想要某个操作重复执行切循环次数已知时、可以使用for循环 ##所有for循环均可以用while来实现 #for循环的语法格式 '''for 临时变量 in 列表或是字符串或是元祖或是集合或是字典或是文件等: 循环满足条件时执行的代码 else: 循环不满足条件时执行的代码 ''' #1、for循环操作实例 '''for循环可遍历除数字以外的数据基本类型, 如字符串、元组、列表、集合、字典、文件等, 我们还可通过序列索引进行遍历。具体操作如下所示:''' '''#1、for循环遍历字符串 str ='abc' for i in str: print(i) #运行结果 a b c ''' '''#2、for循环遍历元组 tup =(31,30,28,35,21,35,34,29,31) for i in tup : print(i,end='') #end’‘ 为不换行 #运行结果 31 30 28 35 21 35 34 29 31 ''' '''#3、for循环遍历列表 List =['apple','banana','grape','orange'] for fruits in List : print(fruits)#打印输出水果 #运行结果 apple banana grape orange ''' '''#4、for循环遍历集合 set ={110,16,'dance','Amy'} for i in set : print(i) #运行结果 110 16 dance Amy ''' '''#5、for循环遍历字典 dict ={'name':'Amy','height':110,'weight':16,'hobby':'dance'} for k,v in dict.items() :#遍历dict中的键值对 print(k,'---->',v)#打印输出dict中的K:V的键值对 print('-----------')#打印输入'---------' for k in dict.keys():#遍历dict中所有的键 print(k) #打印输出dict中的keys print('--------------')#打印输入'---------' for v in dict.values() :#遍历dict中所有的值 print(v)#打印输出dict中的values #运行结果 name ----> Amy height ----> 110 weight ----> 16 hobby ----> dance ----------- name height weight hobby -------------- Amy 110 16 dance ''' '''#6、for循环遍历文件 for content in open('test.txt'):#当前目录下的test.txt文件 print(content) #打印输入test.txt文件下的内容。 #’contest‘:目录、内容 #运用结果 ’‘’ ’‘’#7、for循环实现1到9相乘 sum=1 for i in list(range(1,10)): #range 序列含左不含右(包含数字1,不包含数字10) sum*=i print('1*2*3...*10=',sum) #运用结果 1*2*3...*10= 362880 ''' #可以通过序列索引进行遍历函数语法 #函数语法:range(start, stop[, step]) #参数说明: #start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5); #stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5 #step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1 #range的用法:range(5) — 一个参数,从0开始到5不包含5(即含左不含右); #range(5,15) — 两个参数,从5开始到15不包含15; #range(5,55,5) — 三个参数,从5开始到55不包含55,最后的参数5是步长 #内置函数 len() 和 range(), #函数 len() 返回列表的长度,即元素的个数。 #range返回一个整数序列。 # range() 函数可创建一个整数列表,一般用在 for 循环中。 #使用len()和range()内置函数 '''furits=['apple','banana','grape','orange'] #定义列表 for index in range(len(furits)):# print('当前水果:',furits[index])#遍历打印输出列表内的水果 print('当前水果总数:',len(furits)) #打印输出元素个数 #运行结果: 当前水果: apple 当前水果: banana 当前水果: grape 当前水果: orange 当前水果总数: 4 ''' #循环使用 else 语句 #在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别, #else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。 '''#实例1: for num in range(10,20): # 迭代 10 到 20 之间的数字 for i in range(2,num): # 根据因子迭代 if num%i == 0: # 确定第一个因子 j=num/i # 计算第二个因子 print ('%d 等于 %d * %d' % (num,i,j)) break # 跳出当前循环 else: # 循环的 else 部分 print (num, '是一个质数') #运用结果: 10 等于 2 * 5 11 是一个质数 12 等于 2 * 6 13 是一个质数 14 等于 2 * 7 15 等于 3 * 5 16 等于 2 * 8 17 是一个质数 18 等于 2 * 9 19 是一个质数 ''' #实例2: '''#打印直角三角形 rows=int(input('输入列数:')) i=j=k=1 #声明变量,i用于控制外层循环(图形行数),j用于控制空格的个数,k用于控制*的个数 print('直角三角形1') for i in range(0,rows): for K in range(0,rows-i): print('*', end='') # end=''表示不换行 k +=1 i+=1 print(' ') #运用结果: 输入列数:4 直角三角形1 **** *** ** * ''' '''#打印实心等边三角形 rows=int(input('输入列数:')) print ("打印空心等边三角形,这里去掉if-else条件判断就是实心的") for i in range(0, rows + 1):#变量i控制行数 for j in range(0, rows - i):#(1,rows-i) print (' ',end='') j += 1 for k in range(0, 2 * i - 1):#(1,2*i) if k == 0 or k == 2 * i - 2 or i == rows: if i == rows: if k % 2 == 0:#因为第一个数是从0开始的,所以要是偶数打印*,奇数打印空格 print ("*",end='') else: print(" ",end='') #end='' 可以起到不换行的作用 else: print ("*",end='') else: print (" ",end='') k += 1 print (" ") i += 1