#重复执行语句。在循环次数已知时使用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