Python 入门教程
0.为什么选择 Python 入门?
1.安装
2.print
3.IDE
4.输入
5.变量
6.bool
7.if
8.while
9.random
10.变量2
11.逻辑判断
12.for循环
13.字符串
14.字符串格式化
15.循环的嵌套
16.字符串格式化2
17.类型转换
18.bool类型转换
19.函数
20.命令行常用命令
21.函数的参数
22.函数应用示例
23.if, elif, else
24.if的嵌套
25.初探list
26.操作list
27.list切片
28.字符串的分割
29.连接list
30.字符串的索引和切片
31.读文件
32.写文件
33.处理文件中的数据
34.break
35.continue
36.异常处理
37.字典
38.模块
39.用文件保存游戏(1)
40.用文件保存游戏(2)
41.用文件保存游戏(3)
42.函数的默认参数
43.查天气(1)
44.查天气(2)
45.查天气(3)
46.面向对象(1)
47.面向对象(2)
48.面向对象(3)
49.面向对象(4)
50.and-or技巧
51.元组
52.数学运算
53.真值表
54.正则表达式(1)
55.正则表达式(2)
56.正则表达式(3)
57.正则表达式(4)
58.正则表达式(5)
59.随机数
60.计时
61.调试程序
62.python 2 到 3 的新手坑
63.python shell
64.列表解析
65.函数的参数传递(1)
66.函数的参数传递(2)
67.函数的参数传递(3)
68.lambda 表达式
69.变量的作用域
70.map 函数
71.reduce 函数
72.多线程
【Python 第27课】list切片
list有两类常用操作:索引(index)和切片(slice)。
昨天我们说的用[]加序号访问的方法就是索引操作。
除了指定位置进行索引外,list还可以处理负数的索引。继续用昨天的例子:
l = [365, 'everyday', 0.618, True]
l[-1]表示l中的最后一个元素。
l[-3]表示倒数第3个元素。
切片操作符是在[]内提供一对可选数字,用:分割。冒号前的数表示切片的开始位置,冒号后的数字表示切片到哪里结束。同样,计数从0开始。
注意:开始位置包含在切片中,而结束位置不包括。
l[1:3]
得到的结果是['everyday', 0.618]。
如果不指定第一个数,切片就从列表第一个元素开始。
如果不指定第二个数,就一直到最后一个元素结束。
都不指定,则返回整个列表。
l[:3]
l[1:]
l[:]
注意:不管是返回一部分,还是整个列表,都是一个新的对象,与不影响原来的列表。
同索引一样,切片中的数字也可以使用负数。比如:
l[1:-1]
得到['everyday', 0.618]
#==== 点球小游戏 ====#
昨天有了一次罚球的过程,今天我就让它循环5次,并且记录下得分。先不判断胜负。
用score_you表示你的得分,score_com表示电脑得分。开始都为0,每进一球就加1。
from random import choice
score_you = 0
score_com = 0
direction = ['left', 'center', 'right']
for i in range(5):
print ('==== Round %d - You Kick! ====' % (i+1))
print ('Choose one side to shoot:')
print ('left, center, right')
you = input()
print ('You kicked ' + you)
com = choice(direction)
print ('Computer saved ' + com)
if you != com:
print ('Goal!')
score_you += 1
else:
print ('Oops...')
print ('Score: %d(you) - %d(com)\n' % (score_you, score_com))
print ('==== Round %d - You Save! ====' % (i+1))
print ('Choose one side to save:')
print ('left, center, right')
you = input()
print ('You saved ' + you)
com = choice(direction)
print ('Computer kicked ' + com)
if you == com:
print ('Saved!')
else:
print ('Oops...')
score_com += 1
print ('Score: %d(you) - %d(com)\n' % (score_you, score_com))
这段代码里有两段相似度很高,想想是不是可以有办法可以用个函数把它们分离出来。
来源:Crossin的编程教室