1.循环
首先
如果list里面有100这样的元素怎么办??
list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
range(N)--------生成0-N个元素组成的列表。 [0,N) ,左闭右开
range(m,n) ------生成m-n个元素组成的列表
range(0,100,2) -----在[0-99)中,以step=2的间隔生成元素,组成列表。
python2版本才可以测试:
循环: Python 的循环有两种,一种是 for…in 循环,依次把 list 或 tuple 中的每个元素迭代出来
for循环语法:
for 迭代变量 in 对象(序列):
循环体
流程图:
循环去做:计算 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)
练习
请利用循环依次对list中的每个名字打印出Hello, xxx!:
L = [‘Bart’, ‘Lisa’, ‘Adam’]
for i in L:
print(‘Hello,’,i,"!")
while 循环
:语法:
while 条件表达式:
循环体
流程图:
第二种循环是 while 循环,只要条件满足,就不断循环,条件不满足时退出循环。比如我们要计算 100 以内所有奇数之和,可以用 while 循环实现:
计算 100 以内所有奇数之和
在循环内部变量 n 不断自减,直到变为-1 时,不再满足 while 条件,循环退出。
continue语句会立即跳到循环的顶端,即跳过本次循环,执行下一次循环
break 语句会立即离开循环
import random # 导入随机数模块 random = random.randint(1, 10) # 生成1到10之间的随机数
#!/usr/bin/env python
# -- coding: utf-8 --
‘’’
@author:MT
@file: 0423.py
@time: 2019/4/23 8:54
‘’’
缩进符号:
# userName = [“1111”,“zhangsan”,“lisi”,“wangwu”,“xiaoming”]
# for i in userName: #
# if “zhangsan” ==i: # i =="zhangsan"
# break;
# print(i)
1.如果全篇(就是python代码)没有缩进“tab”,那说明没有for while if
else eilf 等条件(流程)控制语句和循环控制语句。
‘’’
# 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))
2.字典
字典是Python语言中唯一的映射类型。字典是Python中最强大的数据类型之一。
定义:
简单地说字典就是用大括号包裹的键值对的集合。
一般形式代码如下:
adict = {}
adict = {key1:value2, key2:value2, …}
特点:
1、键与值用冒号“:”分开;
2、项与项用逗号“,”分开;
3、字典中的键必须是唯一的,而值可以不唯一。
3、如何更新字典?
a、添加一个数据项(新元素)或键值对
3.列表
list列表: 一种数据类型,有序集合,可以任意添加删除元素。 []
**tuple元组:**也是一种数据类型,有序,不能添加或删除元素,
即:tuple一但初始化就不能修改了。没有list 的添加删除方法(没有append(),insert(), pop()等方法)。 定义:L=() ,其他和list相同,eg:索引表示,计算tuple长度:len()。
classmates = (‘zhangsan’,’lisi’,’wangwu ’,’’sdf”)money=(3000,4000,5000)
tuple的意义优点:tuple一但初始化就不能修改了,代码更安全。如果可能,能有tuple代替list就尽量用tuple
list = [[]] : 二维列表。
tuple = ([1,2,3],[4,5,6],[7,8,9])
如果tuple里面有list,那么可以改变list的元素。
tuple = ([1, 2, 3], [4, 5, 6], [7, 8, 9])
print(tuple[0])
print(type(tuple[0]))
print(tuple[0].append(122))
print(tuple)
6 --------- tuple[1][2]
tuple 的缺陷:当你定义一个tuple时,在定义的时候,tuple 的元素就必须被确定下来。
补充:
定义好字典 {键:值,键:值}键:值,以逗号分隔
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)
4.条件判断语句
# if…else
# 比如,输入用户年龄,根据年龄打印输出不同的类容
#根据python的缩进规则,如果if语句判断是True,就把缩进的两行print语句执行了。
# 如果if语句判断是False, 就不执行。(否则什么都不做。)
# 也可以给if添加一个else语句,意思是,如果if判断为False,不要执行if 的内容,
# 去执行else 里面的内容。
注意:不要少写了冒号 :
# 可以用else if 缩写: elif
# elif 是 else if 的缩写,完全可以有多个elif。
语法
’’’
if <条件判断1>:
<执行内容1>
elif <条件判断2>:
<执行内容2>
elif <条件判断3>:
<执行内容3>
else:
<执行内容n>
‘’’
说明: 从上往下判断,如果在某个判断上为True,那么把判断对应的语句执行后,就忽略掉剩下的elif和else。
练习:
小明身高1.75m,体重80.5kg。请根据BMI公式(体重除以身高的平方)帮小明计算他的BMI指数,并根据BMI指数:
· 低于18.5:过轻
· 18.5-25:正常
· 25-28:过重
· 28-32:肥胖
· 高于32:严重肥胖
用if-elif
判断并打印结果:
答案:weight = 80.5
height = 1.75
bmi = weight/(height*height)
改版: 用户自动输入,加格式化练习
改版二: 加上list练习
# 分别计算 张三、小明和小红的 bmi