循环:Python 的循环有两种,一种是 for…in 循环,依次把 list 或 tuple 中的每个元素迭代出来
userName = [‘zhangsan’, ‘lisi’, ‘wangwu’, ‘xiaoming’, ‘小红’]如何打印输出userName里面的每一个元素??
print(userName[0])
print(userName[1])
print(userName[2])
print(userName[3])
print(userName[4])
如果list里面有100这样的元素怎么办?
range(N)--------生成0-N个元素组成的列表。
[0,N) ,左闭右开
range(m,n) ------生成m-n个元素组成的列表
range(0,100,2) -----在[0-99)中,以step=2的间隔生成元素,组成列表。
for循环语法:
for 迭代变量 in 对象(序列):
循环体
serName = [‘zhangsan’, ‘lisi’, ‘wangwu’, ‘xiaoming’, ‘小红’]
for name in userName:
print(name)
所以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.注意一定要有冒号
循环去做:
计算 1-10的整数之和:
sum = 0
for i in range(0, 11):
sum+= i
print(“sum=”, sum)
解释:
sum = 0+1 -----> sum=1
sum = 1+2 ------> sum = 3
sum = 3+3 -----> sum =6
sum = sum+10 -----> sum=55
计算机当中: sum= sum+i
一般写成 sum+=i
计算1-100的整数之和。
sum = 0
for i in range(1, 101):
sum+= i
print(“sum=”, sum)
计算1-100的偶数之和。
sum = 0
for i in range(0, 101,2):
sum+= i
print(“sum=”, sum)
计算1-100的奇数之和。
sum = 0
for i in range(1, 101,2):
sum+= i
print(“sum=”, sum)
while 循环:
语法:
while 条件表达式:
循环体
第二种循环是while 循环,只要条件满足,就不断循环,条件不满足时退出循环。比如我们
要计算 100 以内所有奇数之和,可以用 while 循环实现:
计算 100 以内所有奇数之和
sum = 0
n = 99
while n > 0:
sum= sum + n
n = n - 2
print sum
在循环内部变量 n 不断自减,直到变为-1 时,不再满足 while 条件,循环退出。
continue语句会立即跳到循环的顶端,即跳过本次循环,执行下一次循环
break 语句会立即离开循环
提示: \n ----表示换行 ‘ ’-----表示输出空格
如果全篇(就是python代码)没有缩进“tab”,那说明没有for while if else eilf 等条件(流程)控制语句和循环控制语句。
userName = [“1111”,“zhangsan”,“lisi”,“wangwu”,“xiaoming”]
for i in userName:
if “zhangsan” ==i: # i ==“zhangsan”
break;
print(i)
print("-------猜数字游戏-------")
import random 导入随机数模块
random = random.randint(1, 10)生成1到10之间的随机数
print(“random:”,random)
num = int(input(“请输入1-10之间的任意一个数:”))
while True:
num = int(input(“请输入1-10之间的任意一个数:”))
if num >random:
print(“大了,请重新输入:”)
elif num <random and num !=-1:
print(“小了,请重新输入:”)
elif num == -1:
print(“游戏结束”)
break
else:
print(“猜对了”)
break# for i in range(5):
print(" “(5-i),"”*(i+1))
定义好字典 {键:值,键:值}键:值,以逗号分隔
d = {“zhangsan”: 89, “lisi”: 90, “wangwu”: 78}
print(d)
print(d[“zhangsan”]) # 取字典里面的某个值
改变字典当中的值
d[“zhangsan”]=99
print(d[“zhangsan”])
如果键不存在于字典当中会报错
d[“xiaoming”]
KeyError: ‘xiaoming’
判断键是否存在于字典当中
print("----:",d.get(“lisi1”))
删除字典当中的wangwu元素
d.pop(“wangwu”)
print(d)
一行一行的输出字典当中的键值
print(d[“zhangsan”])
print(d[“zhangsan”])
print(d[“lisi”])
循环打印字典
d1 = {“zhangsan”: 89, “lisi”: 90, “wangwu”: 78}
for i in d1: # i 表示的是字典当中的键, d[i]—字典当中的值
print("—",i,d1[i])
总结,和list相比
dict的优缺点
1.查找和插入的速度快,不会随着key的增加而增加
2.需要占用大量内存,内存浪费
list 优缺点
1.查找和插入的时间,随着元素的增加而增加
2.占用空间小,浪费内存小。
dict的注意事项 字典当中的key是不可变对象,唯一,不能重复 通过key计算位置的算法(字典),我们称为: 哈希算法
a = {1:“asd”,1:“qwe”} # print(a) dic1 = {“zhangsan”:[180,87,98]}
如何取87
l = dic1[“zhangsan”]
l[1]
print(dic1[“zhangsan”][1])
dic2 = {‘lisi’:{“爱好”:[1,2,3],“score”:98}}
如何取3
a = dic2[‘lisi’][“爱好”][2]
print(a)