range(N)---------生成0-N个元素组成的列表。 [0,N),左闭右开
range(m,n)-------生成m-n个元素组成的列表
range(0,100,2)------在[0-99)中,以step=2的间隔生成元素,组成列表。
循环:python的循环有两种,一种是 for…in 循环,依次把 list 或 tuple 中的每个迭代出来
for循环语法:
for 迭代变量 in 对象(序列):
循环体
所以for name in userName:循环就是把userName 的每个元素代入变量name,然后执行缩进块的语句
注意:
for name in userName:
print(name)
1.name 变量的名字是我们随便取得,但是一般情况下要遵循驼峰命名法。也就是你自己要清楚你取的名字的意思。
2.userName-一般情况下是可以迭代的元素,如list 和tuple,字符串。
3.底层运行流程:
首先判断userName里面是否有第一个元素,如果有,将userName 的第一个元素的值赋值给 name。如果没有,则结束循环。
然后,判断userName里面是否有下一个元素,如果有,将userName 的下一个元素的值赋值给name。如果没有,则结束循环。
4.注意一定要有冒号
利用循环依次对list中的每个名字打印出Hello,xxx!:
while 条件表达式:
循环体
流程图:
第二种循环是 while 循环,只要条件满足,就不断循环,条件不满足时退出循环。比如我们
要计算 100 以内所有奇数之和,可以用 while 循环实现:
计算100以内的所有奇数之和
在循环内部变量 n 不断自减,直到变为-1 时,不再满足 while 条件,循环退出。
continue语句会立即跳到循环的顶端,即跳过本次循环,执行下一次循环
break 语句会立即离开循环
1.缩进符号很重要
2.如果全篇(就是python代码)没有缩进“tab”,那说明没有 for while if
3.else eilf 等条件(流程)控制语句和循环控制语句。
循环打印字典
i 表示的是字典当中的键, d[i]—字典当中的值
总结,和list相比,dict的优缺点:
1.查找和插入的速度快,不会随着key的增加而增加
2.需要占用大量内存,内存浪费
list的优缺点:1.查找和插入的时间,随着元素的增加而增加
2.占用空间小,浪费内存小。
dict的注意事项:字典当中的key是不可变对象,唯一,不能重复
通过key计算位置的算法(字典),我们称为: 哈希算法
例:
1.输入5个同学的name,weight,height.请根据BMI公式(体重除以身高的平方)分别求出他们的BMI指数,并根据BMI指数:
低于18.5:过轻
18.5-25:正常
25-28:过重
28-32:肥胖
高于32:严重肥胖
2.猜数字;
编写一个猜数字的小游戏,随机生成一个1-10(包括1和10)之间的数字作为基准数,玩家每次通过键盘输入一个数字,如果输入的数字和基准数相同,则成功过关,否则重新输入,如果玩家输入-1,则表示退出游戏。