python初见

来源:互联网 发布:360全景源码 编辑:程序博客网 时间:2024/05/20 18:42
Python
1、安装
2、print
python main.py
0、注释:python里,以“#”开头的文字都不会被认为是可执行的代码。
3、IDE
4、输入
5、变量
6、bool值
7、if 条件:  选择执行的语句  
特别说明:条件后面的冒号不能少,同样必须是英文字符。  
特别特别说明:if内部的语句需要有一个统一的缩进,一般用4个空格。
num = 10
print 'Guess what I think?'
answer = input()
if answer<num:
    print 'answer<10'
if answer>num:
    print 'answer>10'
if answer==num:
    print 'answer=10'


8、while 循环语句  控制流语句
程序执行到while处,“当”条件为True时,就去执行while内部的代码,“当”条件为False时,就跳过。
【一】
a=1
while a!=10:
    print "please input"
    a=input()
    if a>10:
        print "too big"
    if a<10:
        print "too small"
print "a=10,good"
9、random 
from 模块名 import 方法名
【二】
from random import randint
a=randint(5,10)
bingo=False
while bingo==False:
    print "please input"
    answer=input()
    if a>answer:
        print "too small"
    if a<answer:
        print "too big"
    if a==answer:
        bingo=True
        print "bingo!"
10、变量
a=0
b=0
while a!=100:
    a=a+1
    b=b+a
print "1+2+3+...=",b
11、逻辑判断
//////////
a=True
b=False
print a == b
print a != b
print (a and b)
print a or b
print 1<2 and b==True
12、for 循环  for count in range(0, n)
for i in range(1, 101):
print i
range(1, 101)表示从1开始,到101为止(不包括101),取其中所有的整数。for i in range(1, 101)就是说,把这些数,依次赋值给变量i。相当于一个一个循环过去,第一次i = 1,第二次i = 2,……,直到i = 100。当i = 101时跳出循环。
////////////
a=0
for i in range(1, 101):
    a=a+i
print a
13、字符串
python中最常用的字符串表示方式是单引号('')和双引号("")。我还是要再说:一定得是英文字符!
如果你想表示一段带有英文单引号或者双引号的文字,那么表示这个字符串的引号就要与内容区别开。
python中还有一种表示字符串的方法:三个引号(‘’‘)或者(""") 在三个引号中,你可以方便地使用单引号和双引号,并且可以直接换行
还有一种在字符串中表示引号的方法,就是用\,可以不受引号的限制\'表示单引号,\"表示双引号
print '\\\\_v_//'#  \\_v_//
14、字符串 格式化
如果你想把两段字符连起来输出
str1 = 'good' 
str2 = 'bye' 
可以
print str1 + str2 
或者还可以把字符变量一个字符串相加
print 'very' + str1 
print str1 + ' and ' + str2 
但如果你想要把一个数字加到文字后面输出,比如这样
num = 18 
一种解决方法是,用
str()把数字转换成字符串
print 'My age is' + str(18) 

num = 18 
print 'My age is' + str(num) 
还有一种方法,就是用%对字符串进行格式化
num = 18 
print 'My age is %d' % num 
输出的时候,%d会被%后面的值替换。输出My age is 18 
这里,%d只能用来替换整数。如果你想格式化的数值是小数,要用%f 
print ‘Price is %f’% 4.99  
如果你想保留两位小数,需要在f前面加上条件:%.2f
可以用%s来替换一段字符串
注意区分:有引号的表示一段字符,没有引号的就是一个变量,这个变量可能是字符,也可能是数字,但一定要和%所表示的格式相一致。
【eg】
from random import randint
i=False
b=randint(1,6)
while i==False:
    print 'Please input a numb (1,6)'
    a=input()
    if a>b:
        print '%d too big' %a
    if a<b:
        print '%d too small' %a
    if a==b:
        print '%d right' %a
        i==True
15、循环的嵌套
for i in range(0, 5): 
    for j in range(0, i+1): 
        print '*',
    print
注意:第二个print的缩进和内层的for是一样的,这表明它是外层for循环中的语句,每次i的循环中,它会执行一次。
print后面没有写任何东西,是起到换行的作用,这样,每输出5个*,就会换行。
16、字符串格式化2
在python中,你可以这样实现:
print "%s's score is %d" % ('Mike', 87) 
或者
name = ‘Lily’
score = 95
print "%s's score is %d" % (name, score)
无论你有多少个值需要代入字符串中进行格式化,只需要在字符串中的合适位置用对应格式的%表示,然后在后面的括号中按顺序提供代入的值就可以了。占位的%和括号中的值在数量上必须相等,类型也要匹配。
('Mike', 87)这种用()表示的一组数据在python中被称为元组(tuple),是python的一种基本数据结构,以后我们还会用到。
17、类型转换
基本类型:
字符串
整数
小数(浮点数)
bool类型
python提供了一些方法对数值进行类型转换: 
int(x) #把x转换成整数 
float(x) #把x转换成浮点数 
str(x) #把x转换成字符串 
bool(x) #把x转换成bool值
eg:
print ‘Hello’+str(1) 
print ‘hello%d’ % int('123')
18、bool类型的转换
因为在python中,以下数值会被认为是False:为0的数字,包括0,0.0 空字符串,包括'',"" 表示空值的None 空集合,包括(),[],{} 其他的值都认为是True。
None是python中的一个特殊值,表示什么都没有,它和0、空字符、False、空集合都不一样。
所以,‘False’是一个不为空的字符串,当被转换成bool类型之后,就得到True。
同样bool(' ')的结果是True,一个空格也不能算作空字符串。
bool('')才是False。
19、函数
函数就是一块语句,这块语句有个名字,你可以在需要时反复地使用这块语句。它有可能需要输入,有可能会返回输出。
python里的关键字叫def(define的缩写),格式如下:
def sayHello(): 
 print 'hello world!' 
sayHello是这个函数的名字,后面的括号里是参数,这里没有,表示不需要参数。但括号和后面的冒号都不能少。下面缩进的代码块就是整个函数的内容,称作函数体。
然后我们去调用这个函数:sayHello() 得到和直接执行print 'hello world!'一样的结果。
20、命令行常用的命令
dir
ls
cd
cd..
比如从c盘切换到d盘
C:\Documents and Settings\Crossin>d:
python test.py
21、函数的参数
如果我们希望自己定义的函数里允许调用者提供一些参数,就把这些参数写在括号里,如果有多个参数,用逗号隔开,如:
def sayHello(someone): 
 print someone + ' says Hello!' 
或者
def plus(num1, num2):
 print num1+num2 
参数在函数中相当于一个变量,而这个变量的值是在调用函数的时候被赋予的。在函数内部,你可以像过去使用变量一样使用它。
调用带参数的函数时,同样把需要传入的参数值放在括号中,用逗号隔开。要注意提供的参数值的数量和类型需要跟函数定义中的一致。如果这个函数不是你自己写的,你需要先了解它的参数类型,才能顺利调用它。
22、函数应用示例
eg:
def isEqual(num1, num2):
    if num1<num2:
        print 'too small'
        return False;
    if num1>num2:
        print 'too big'
        return False;
    if num1==num2:
        print 'bingo'
        return True
from random import randint 
num = randint(1, 100) 
print 'Guess what I think?' 
bingo = False 
while bingo == False: 
    answer = input() 
    bingo = isEqual(answer, num)
23、if、elif、else
if, elif, else可组成一个整体的条件语句。if是必须有的;elif可以没有,也可以有很多个,每个elif条件不满足时会进入下一个elif判断;else可以没有,如果有的话只能有一个,必须在条件语句的最后。
eg:
def isEqual(num1, num2):
    if num1<num2:
        print 'too small'
        return False;
    elif num1>num2:
        print 'too big'
        return False;
    else:
        print 'bingo'
        return True
from random import randint 
num = randint(1, 100) 
print 'Guess what I think?' 
bingo = False 
while bingo == False: 
    answer = input() 
    bingo = isEqual(answer, num)
24、if的嵌套
if 条件1: 
 if 条件2: 
 语句1 
 else:
 语句2 
else: 
 if 条件2: 
 语句3 
 else: 
 语句4
在上面这个两层if的结构中,当
条件1为True,条件2为True时,执行语句1;
条件1为True,条件2为False时,执行语句2;
条件1为False,条件2为True时,执行语句3;
条件1为False,条件2为False时,执行语句4;
25、初探list
print range(1,10)


l= range(1, 10)
for i in l:
    print i,
26、操作list
1)访问list中的元素
print l[1]
注意,不能访问一个不存在的元素,比如l[10],程序就会报错,提示index越界了。
2)修改list中的元素
l[0]=123
3)向list中添加元素
list有一个append方法,可以增加元素。以l这个列表为例,调用的方法是:
l.append(1024) 
输出l,会看到[123, 'everyday', 0.618, True, 1024],1024被添加到了l,成为最后一个元素。
4)删除list中的元素
del l[0]
l = [365, 'everyday', 0.618, True] 
for i in l:
    print i,
print
l[0]=123
for i in l:
    print i,
print
l.append('hello')
for i in l:
    print i,
print
del l[0]
print l[0]
del l[2]
for i in l:
    print i,



点球小游戏一:
from random import choice 
print 'Choose one side to shoot:' 
print 'left, center, right' 
you = raw_input() 
print 'You kicked ' + you 
direction = ['left', 'center', 'right'] 
com = choice(direction) 
print 'Computer saved ' + com 
if you== com: 
    print 'Goal!'
else: 
    print 'Oops...' 
点球小游戏二:
循环计分
score_you=0
score_com=0
print "===5 points system ==="
for i in range(5):
    print "Round %d"%(i+1)
    print 'Choose one side to shoot:left, center, right'
    from random import choice
    you = raw_input() 
    print 'You kicked ' + you 
    direction = ['left', 'center', 'right'] 
    com = choice(direction) 
    print 'Computer saved ' + com 
    if you== com: 
        print 'Goal!'
        score_you+=1
    else: 
        print 'Oops...'
        score_com+=1
print 'score_you=%d,score_com=%d'%(score_you,score_com)
点球小游戏:3场5分赛制------66重新看






list有两类常用操作:索引(index)和切片(slice)
用[]加序号访问的方法就是索引操作;除了指定位置进行索引外,list还可以处理负数的索引。
l[-1]表示l中的最后一个元素。


切片操作符是在[]内提供一对可选数字,用:分割。冒号前的数表示切片的开始位置,冒号后的数字表示切片到哪里结束。同样,计数从0开始。
注意,开始位置包含在切片中,而结束位置不包括。
l[1:3]得到的结果是['everyday', 0.618]。
如果不指定第一个数,切片就从列表第一个元素开始。l[:3] 
如果不指定第二个数,就一直到最后一个元素结束。l[1:] 
都不指定,则返回整个列表的一个拷贝。l[:] 
同索引一样,切片中的数字也可以使用负数。l[1:-1]


28、字符串的分割
sentence = 'I am an Englist sentence' 这时就需要对字符串进行分割。
sentence.split() 
split()会把字符串按照其中的空格进行分割,分割后的每一段都是一个新的字符串,最终返回这些字符串组成一个list。
于是得到['I', 'am', 'an', 'Englist', 'sentence'] 原来字符串中的空格不再存在。
除了空格外,split()同时也会按照换行符\n,制表符\t进行分割。所以应该说,split默认是按照空白字符进行分割。
之所以说默认,是因为split还可以指定分割的符号。
比如你有一个很长的字符串section = 'Hi. I am the one. Bye.' 
通过指定分割符号为'.',可以把每句话分开section.split('.') 得到['Hi', ' I am the one', ' Bye', ''] 
这时候,'.'作为分割符被去掉了,而空格仍然保留在它的位置上。注意最后那个空字符串。每个'.'都会被作为分割符,即使它的后面没有其他字符,也会有一个空串被分割出来。
例如'aaa'.split('a') 将会得到['', '', '', ''],由四个空串组成的list。
eg:
sentence = 'I am an Englist sentence'
print sentence.split()
section = 'Hi. I am the one. Bye.'
print section.split('.')
print 'aaa'.split('a')


【小球游戏】65---nonono
from random import choice 
score = [0, 0] 
direction = ['left', 'center', 'right'] 
def kick(): 
    print '==== You Kick! ====' 
    print 'Choose one side to shoot:' 
    print 'left, center, right' 
    you = raw_input() 
    print 'You kicked ' + you 
    com = choice(direction) 
    print 'Computer saved ' + com 
    if you != com: 
        print 'Goal!' 
        score[0] += 1 
    else: 
        print 'Oops...' 
    print 'Score: %d(you) - %d(com)\n' % (score[0], score[1]) 
    print '==== You Save! ====' 
    print 'Choose one side to save:' 
    print 'left, center, right' 
    you = raw_input() 
    print 'You saved ' + you 
    com = choice(direction) 
    print 'Computer kicked ' + com 
    if you == com: 
        print 'Saved!' 
    else: 
        print 'Oops...' 
    score[1] += 1 
    print 'Score: %d(you) - %d(com)\n' % (score[0], score[1]) 
for i in range(1): 
    print '==== Round %d ====' % (i+1) 
    kick() 
while(score[0] == score[1]): 
    i += 1 
    print '==== Round %d ====' % (i+1) 
    kick() 
if score[0] > score[1]: 
    print 'You Win!' 
else: 
    print 'You Lose.' 
29、链接list
今天要说的方法是join。它和split正好相反:split是把一个字符串分割成很多字符串组成的list,而join则是把一个list中的所有字符串连接成一个字符串。 
join的格式有些奇怪,它不是list的方法,而是字符串的方法。首先你需要有一个字符串作为list中所有元素的连接符,然后再调用这个连接符的join方法,join的参数是被连接的list:
s = ';' 
li = ['apple', 'pear', 'orange'] 
fruit = s.join(li) 
print fruit 
或者 ';'.join(['apple', 'pear', 'orange'])
用来连接的字符串可以是多个字符,也可以是一个空串:
''.join(['hello', 'world'])
30、字符串的索引和切片
1. 遍历 
通过for...in可以遍历字符串中的每一个字符。
word = 'helloworld' 
for c in word: 
    print c
2. 索引访问 
通过[]加索引的方式,访问字符串中的某个字符。
print word[0] 
print word[-2]
注:
与list不同的是,字符串能通过索引访问去更改其中的字符。
word[1] = 'a' 这样的赋值是错误的。
3. 切片
通过两个参数,截取一段子串,具体规则和list相同。








word = 'helloworld' 
for c in word: 
    print c 
print word[0] 
print word[-2]






print word[5:7] 
print word[:-5] 
print word[:] 





学习地址:
http://wenku.baidu.com/link?url=gqJ_ko9KEFLiuU88DFZjXGDRS8YtrU_k7tubfm3BLM-k4_XwxdjZIKTMN5Bs9eD7z81DYuWEpsFiH-s3EMzX63cDJ3AJTN-0P0fK4rQm27q









0 0
原创粉丝点击