1、条件控制:
if..else语句
语法:if关键字、条件、冒号、下一行缩进代码块、else关键字、冒号、下一行缩进代码块
示例:
# if else 语句 age = 23 if age > 18: print('大家都是成年人,说话..') print('成年人') else: print('不要带坏未成年人')
输出:
大家都是成年人,说话..
成年人
if..elif..else..语句
语法:if关键字、条件、冒号、下一行缩进代码块、elif关键字、条件、冒号、下一行缩进代码快
示例:
age = 23 # 多个elif=>else if的缩写 (python真的是能省就省) if age > 18: print('成年人,请进...') elif age > 12: print('中学生')elif age > 6: print('小学生')else: print('you are a baby')
输出:
成年人,请进...
注意:冒号出现标志着下一行需要进行缩进。
2、循环控制
while语句:
语法:while、条件、冒号、下一行开始缩进代码块
示例:
# 找出1~100 所有奇数的和 jishuhe = 0 # 循环变量赋初值 initvalue = 0 while initvalue < 100: # 要有循环条件 if initvalue % 2 != 0: print('奇数:%d' % initvalue) jishuhe += initvalue initvalue += 1 # 更改循环变量 print(jishuhe)
输出:
奇数:1 奇数:3 奇数:5 奇数:7 奇数:9 ....
说明:只要条件成立代码块儿就不会停止;while循环需要在代码块中每次执行时更改循环变量,来推进while循环结束,否则就变成了一个死循环了。
fro...in语句:
语法:for关键字、变量名、in关键字、一个可迭代对象、冒号、下一行缩进代码块
示例1:
# 计算1加到10的和 sum = 0 for item in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]: # 别忘记加冒号 sum = sum + item print(sum)
输出:
55
示例2:
# for in 可以迭代list或者tuple students = ['boge', 'minshener', 'yezi', 'yanchang'] for student in students: print(student)
输出:
boge
minshener
yezi
yanchang
示例3:
# python提供了 rang(n)函数 能够生成零到小于n的整数序列 在通过 list()函数将序列变成列表 oneTo100 = list(range(101)) # 这里不能写100 得写101 print(len(oneTo100)) count = 0 for item in oneTo100: count += item print('1~100的和是%d' % count)
输出:
1~100的和是5050
多使用for in range() 很香
>>> for item in range(5): ... print(item) ... 0 1 2 3 4
3、range()函数
语法:range()有三个参数,range()函数生成的序列不能直接使用。
使用场景:要么使用在for in中;要么得使用list(range()) 转换成列表才能使用
参数个数:
- 只写一个参数range(n)--表示生成从0到n-1的序列
- 只写两个参数range(n,m)--表示生成从n到m-1的序列
- 写三个参数range(n,m,p)--表示生成从n到m-1的序列,序列增长的步长是p
示例:
>>> range(5) range(0, 5) >>> range(1,5) range(1, 5) >>> print(range(1,5)) range(1, 5) >>> list(range(5)) [0, 1, 2, 3, 4] >>> list(range(1,5)) [1, 2, 3, 4] >>> list(range(1,5,2)) [1, 3] >>> list(range(1,100,2)) [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, ..., 89, 91, 93, 95, 97, 99]
说明:从上面的示例看出range()调用之后,并不返回值。我们得使用list()将其转换成列表才能使用。
其实range()调用之后返回的是一个迭代器,迭代器是啥?大致说一下,只要能被for in进行迭代的就是迭代器。更详细的以后再说。