第五课 流程控制(一)

  • if语句

注意冒号 注意冒号 注意冒号

a = int(input())
if a > 10 and a < 100:
    print('big')
elif a == 10:
    print('just so so')
elif a < 10:
        print('small')
else :
    print('huge')
  • for语句

Python 中的 for语句和 C 中的略有不同。通常的循环可能会依据一个等差数值步进过程,或由用户来定义迭代步骤和中止条件,Python 的 for 语句依据任意序列(链表或字符串)中的子项,按它们在序列中的顺序来进行迭代。
在迭代过程中修改迭代序列不安全(只有在使用链表这样的可变序列时才会有这样的情况)。如果你想要修改你迭代的序列(例如,复制选择项),你可以迭代它的复本。

>>> for w in words[:]: 
# Loop over a slice copy of the entire list
....if len(w) > 6:
...words.insert(0, w)
...
>>> words
['defenestrate', 'cat', 'window', 'defenestrate']
  • range

range(10)生成了一个包含10个值的链表,它用链表的索引值填充了这个长度为 10 的列表,所生成的链表中不包括范围中的结束值。也可以让range()操作从另一个数值开始,或者可以指定一个不同的步进值(甚至是负数,也被称为 “步长”)。

range(5, 10)
   5 through 9
===
range(0, 10, 3)
   0, 3, 6, 9
===
range(-10, -100, -30)
  -10, -40, -70

需要迭代链表索引的话,如下所示结合使 用 range()和 len()

>>> a = ['Mary', 'had', 'a', 'little', 'lamb']
>>> for i in range(len(a)):
...    print(i, a[i])
...
0 Mary
1 had
2 a
3 little
4 lamb
  • enumerate()

enumerate 函数用于遍历序列中的元素以及它们的下标。

>>> for i,j in enumerate([1,2,3]):
 print i,j
0 1
1 2
2 3
>>> for i,j in enumerate({'a':1,'b':2}):
 print i,j
0 a
1 b
  • 可迭代对象

只是打印一个序列的话会发生奇怪的事情。

>>> print(range(10))
range(0, 10)

在不同方面 range() 函数返回的对象表现为它是一个列表,但事实上它并不是。
当你迭代它时,它是一个能够像期望的序列返回连续项的对象;但为了节省空间,它并不真正构造列表。
我们称此类对象是 可迭代的,即适合作为那些期望从某些东西中获得连续项直到结束的函数或结构的一个目标(参数)。我们已经见过的 for语句就是这样一个迭代器。list()函数是另外一个( 迭代器 ),它从可迭代(对象)中创建列表。

  • 遗留问题

1.没有switch\case

http://blog.csdn.net/suiyunonghen/article/details/3734135
2.什么是链表
3.还有什么迭代的知识

你可能感兴趣的:(第五课 流程控制(一))