# __author__:Nzkalhbxx
# __date__:2017/10/12
# for循环
""" for i Iterable:
...代码块
相当于java中的:
for(Iterable的元素 i = Iterable.firstElement; i < Iterable.length; i = Iterable.nextElement){
...代码块;
}
"""
# 一个参数的for循环,for循环后是一个可迭代对象,每个循环取出可迭代对象的中的一个元素赋值给i
for i in range(7):
print(i)
'''以上for循环相当于java中的:
for(int i = 0; i < 7; i++){
print(i);
}
'''
print("\n------------range()多参数-----------".center(33, '-'))
# 多参数
for i in range(3, 7):
print(i)
"""相当于java中的:
for(int i = 3; i < 7; i++){
print(i);
}
"""
print("\n-----------range()自定义步长----------".center(33, '-'))
# 自定义步长
for i in range(1, 11, 3):
print(i)
"""相当于java中的:
for(int i = 1; i < 11; i += 3){
print(i);
}
"""
print("\n-----------for循环中的each-----------".center(33, '-'))
for i in range(2, 8, 2):
if i == 7:
print("改数列中有7,执行break,不执行each")
break
else:
print("该数列中没有7,for正常执行完后执行for的each语句")
print("\n---------for循环迭代其它可迭代对象演示--------".center(33, '-'))
names = ['瑾懿', '逸珺', '思洁洁']
for name in names:
print("my name is: ", name, sep="")
print("\n---------for循环迭代其它可迭代对象演示--------".center(33, '-'))
products = [('Macbook', 9000), ('iphoneX', 8999), ('water', 3), ('car', 700000)]
for product in enumerate(products, 1):
print(product)
print("\n----------enumerate()双参数---------".center(33, '-'))
for startNum, product in enumerate(products, 1):
print(startNum, "------->", product, sep="")
print("\n------------for循环的多参数------------".center(33, '-'))
# for循环中in之前的多参数是何作用?
nums = (1, 3, 11, 7)
nums = [nums]
print(nums)
for a, b, c, d in nums:
print(a, b, c, d, sep="->")
nums = list(nums[0])
print(nums)
nums = [nums]
for a, b, c, d in nums:
print(a, b, c, d, sep="--->")
nums = [[1, 2, 3], ['a', 'b', 'c'], ([4, 5], [6, 7], [8, 9])]
for x, y, z in nums:
print(x, y, z, sep='-')
nums = [([4, 5], [6, 7], [8, 9])]
for x, y, z in nums:
# loops用于验证in后面是多参数时是如何循环的:
loops = 0
for i, k in y, x, z:
loops += 1
print(loops, end=": ")
print(i, k, sep="--")
# 通过以上的结果我们可以看出, for循环只能操作可迭代对象, 每次从可迭代对象中依次获取一个元素, 获取的此元素可以只用一个参数接收, 那么此时in之前的这个单参数即表示该元素
# 如果获取的该可迭代对象o1中的元素依然是一个可迭代对象o2, 那么o2中有多少个元素, in前面就可以使用多少个参数来接收o2中的每一个元素, in之前的参数顺序即表示o2中的元素的顺序, 一一对应

运行结果
网友评论