使用双重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 1011 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 3list 的嵌套遍历
>>> 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 oW
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