使用双重for循环,打印 0~100
# -*- coding: utf-8 -*-
# D:\python\test.py
def printOneToHundred():
    for i in range(10):
        for j in range(1,11):
            print i*10+j,
        print '\n'

printOneToHundred()

执行结果:
C:\Users\***>python d:\python\test.py
1 2 3 4 5 6 7 8 9 10

11 12 13 14 15 16 17 18 19 20

21 22 23 24 25 26 27 28 29 30

31 32 33 34 35 36 37 38 39 40

41 42 43 44 45 46 47 48 49 50

51 52 53 54 55 56 57 58 59 60

61 62 63 64 65 66 67 68 69 70

71 72 73 74 75 76 77 78 79 80

81 82 83 84 85 86 87 88 89 90

91 92 93 94 95 96 97 98 99 100

 

作业:用双重for循环处理 奇数+2,偶数+3

全局变量
本质:变量的作用域

局部变量1:
# -*- coding: utf-8 -*-
# D:\python\test.py
def printX():
    x=5
    print x
printX()

执行结果:
C:\Users\***>python d:\python\test.py
5

局部变量2:
# -*- coding: utf-8 -*-
# D:\python\test.py
def printX():
    x=5
    print x
x=10
printX()

执行结果:
C:\Users\***>python d:\python\test.py
5

全局变量:
# -*- coding: utf-8 -*-
# D:\python\test.py
def printX():
    global x
    x=x+1
    print x
x=10
printX()

执行结果:
C:\Users\***>python d:\python\test.py
11

 

数据结构
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

列表像一个容器
>>> list=[] # 声明一个列表
>>> type(list) # 查看变量类型
<type 'list'>
>>> help(list) # help() 查看变量的方法
Help on list object:

class list(object)
|  list() -> new empty list
|  list(iterable) -> new list initialized from iterable's items
|
|  Methods defined here:
|
|  __add__(...)
|      x.__add__(y) <==> x+y
|
|  __contains__(...)
|      x.__contains__(y) <==> y in x
|
|  __delitem__(...)
|      x.__delitem__(y) <==> del x[y]
|
|  __delslice__(...)
|      x.__delslice__(i, j) <==> del x[i:j]
|
|      Use of negative indices is not supported.
|
|  __eq__(...)
|      x.__eq__(y) <==> x==y
|
|  __ge__(...)
|      x.__ge__(y) <==> x>=y
|
|  __getattribute__(...)
|      x.__getattribute__('name') <==> x.name
|
|  __getitem__(...)
|      x.__getitem__(y) <==> x[y]
|
|  __getslice__(...)
|      x.__getslice__(i, j) <==> x[i:j]
|
|      Use of negative indices is not supported.
|
|  __gt__(...)
|      x.__gt__(y) <==> x>y
|
|  __iadd__(...)
|      x.__iadd__(y) <==> x+=y
|
|  __imul__(...)
|      x.__imul__(y) <==> x*=y
|
|  __init__(...)
|      x.__init__(...) initializes x; see help(type(x)) for signature
|
|  __iter__(...)
|      x.__iter__() <==> iter(x)
|
|  __le__(...)
|      x.__le__(y) <==> x<=y
|
|  __len__(...)
|      x.__len__() <==> len(x)
|
|  __lt__(...)
|      x.__lt__(y) <==> x<y
|
|  __mul__(...)
|      x.__mul__(n) <==> x*n
|
|  __ne__(...)
|      x.__ne__(y) <==> x!=y
|
|  __repr__(...)
|      x.__repr__() <==> repr(x)
|
|  __reversed__(...)
|      L.__reversed__() -- return a reverse iterator over the list
|
|  __rmul__(...)
|      x.__rmul__(n) <==> n*x
|
|  __setitem__(...)
|      x.__setitem__(i, y) <==> x[i]=y
|
|  __setslice__(...)
|      x.__setslice__(i, j, y) <==> x[i:j]=y
|
|      Use  of negative indices is not supported.
|
|  __sizeof__(...)
|      L.__sizeof__() -- size of L in memory, in bytes
|
|  append(...)
|      L.append(object) -- append object to end
|
|  count(...)
|      L.count(value) -> integer -- return number of occurrences of value
|
|  extend(...)
|      L.extend(iterable) -- extend list by appending elements from the iterable
|
|  index(...)
|      L.index(value, [start, [stop]]) -> integer -- return first index of value.
|      Raises ValueError if the value is not present.
|
|  insert(...)
|      L.insert(index, object) -- insert object before index
|
|  pop(...)
|      L.pop([index]) -> item -- remove and return item at index (default last)
.
|      Raises IndexError if list is empty or index is out of range.
|
|  remove(...)
|      L.remove(value) -- remove first occurrence of value.
|      Raises ValueError if the value is not present.
|
|  reverse(...)
|      L.reverse() -- reverse *IN PLACE*
|
|  sort(...)
|      L.sort(cmp=None, key=None, reverse=False) -- stable sort *IN PLACE*;
|      cmp(x, y) -> -1, 0, 1
|
|  ----------------------------------------------------------------------
|  Data and other attributes defined here:
|
|  __hash__ = None
|
|  __new__ = <built-in method __new__ of type object>
|      T.__new__(S, ...) -> a new object with type S, a subtype of T

 

列表 list 可以改变(增删改元素)
>>> list=[] # 声明一个空的列表
>>> list
[]
>>> list=[1,'ss','哈哈'] # 声明一个非空列表
>>> list
[1, 'ss', '\xb9\xfe\xb9\xfe']
>>> list=[1,2,3,4,5] # 声明一个非空列表
>>> type(list) # 查看 变量 类型
<type 'list'>
>>> list.append(6) # 增
>>> del list[0] # 删
>>> list
[2, 3, 4, 5, 6]
>>> len(list) # 查看列表的长度
5

>>> list=[0,1,2,3,4,5,6,7,8,9]
>>> print list[0] # 打印list的第一个元素
0
>>> print list[2]
2
>>> print list[8]
8
>>> del list[4]
>>> list
[0, 1, 2, 3, 5, 6, 7, 8, 9]
>>> list[8]=100 # 改
>>> list
[0, 1, 2, 3, 5, 6, 7, 8, 100]

>>> lista=[1,2,3]
>>> listb=[lista,'a','b']
>>> listb
[[1, 2, 3], 'a', 'b']

遍历 list 的两种方式
>>> for i in lista:
...   print i,
...
1 2 3
>>> for i in range(len(lista)):
...   print lista[i],
...
1 2 3

list 的嵌套遍历
>>> for i in listb:
...   print i
...
[1, 2, 3]
a
b

>>> import types
>>> for i in listb:
...   if type(i) is types.ListType:
...     for j in i:
...       print j,
...   else:
...     print i,
...
1 2 3 a b

字符串也可以使用for循环遍历
>>> for s in "Hello World!":
...   print s
...
H
e
l
l
o

W
o
r
l
d
!

 

元组 tuple 不能改变(增删改元素)
声明后不做任何改变,可以看作一个常量
>>> tuple=()
>>> tuple
()
>>> type(tuple)
<type 'tuple'>
>>> tuple=(1,2,3)
>>> for i in tuple:
...   print i
...
1
2
3
>>> tuple[0]=2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment

格式化输出
>>> a=1
>>> b=2
>>> print "a: %d\nb: %d" %(a,b)
a: 1
b: 2

 

作业:
1、10个元素的list中,奇数坐标元素+1、偶数坐标元素+2,并存回原来的位置
2、逆序输出一个字符串
3、一个字符串中,分别输出奇数坐标字符和偶数坐标字符

>>> str="hello"
>>> for s in range(len(str)):
...   print str[s]
...
h
e
l
l
o

posted on 2016-05-31 14:07  Amy-Lee  阅读(198)  评论(0编辑  收藏  举报