20190416:
Python 循环

补充:
if判断条件还可以简写,比如写:
if x:
print9(“True “)
只要x是非零数值、非空字符串、非空list等。就判断为True,再判断为False。
False----- x=0, x=””, x=(), x=[]

循环:python循环有两种:一种是for…in循环,

For循环语法:
For迭代变量in对象:
循环体
流程图:
2_11_列表、循环、流程、控制语句_0423

2_11_列表、循环、流程、控制语句_0423

如果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的间隔生成元素,组成列表。

2_11_列表、循环、流程、控制语句_0423
2_11_列表、循环、流程、控制语句_0423
2_11_列表、循环、流程、控制语句_0423

循环去做:
计算 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 条件表达式:
循环体

2_11_列表、循环、流程、控制语句_0423

第二种循环是 while 循环,只要条件满足,就不断循环,条件不满足时退出循环。比如我们
要计算 100 以内所有奇数之和,可以用 while 循环实现:
计算 100 以内所有奇数之和
sum = 0
n = 99
while n > 0:
sum = sum + n
n = n - 2
print sum

在循环内部变量 n 不断自减,直到变为-1 时,不再满足 while 条件,循环退出。

continue语句会立即跳到循环的顶端,即跳过本次循环,执行下一次循环
break 语句会立即离开循环

练习:

  1. 输入5个同学的name,weight,height.请根据BMI公式(体重除以身高的平方)分别求出他们的BMI指数,并根据BMI指数:
    • 低于18.5:过轻
    • 18.5-25:正常
    • 25-28:过重
    • 28-32:肥胖
    • 高于32:严重肥胖

20190423
2.猜数字;
编写一个猜数字的小游戏,随机生成一个1-10(包括1和10)之间的数字作为基准数,玩家每次通过键盘输入一个数字,如果输入的数字和基准数相同,则成功过关,否则重新输入,如果玩家输入-1,则表示退出游戏。效果图如下:

提示:
import random # 导入随机数模块
random = random.randint(1, 10) # 生成1到10之间的随机数
2_11_列表、循环、流程、控制语句_0423
2_11_列表、循环、流程、控制语句_0423

  1. 需要随机生成1-10的数字

  2. 需要用户输入一个数字

  3. 需要条件控制语句,循环控制语句

  4. 打印输出(循环):

for i in range(5):
print(" “(5-i),"”*(i+1))
(1)
*
**




提示: \n ----表示换行 ‘ ’-----表示输出空格
(2)
*
**




之前学的浮点数:字符串,整数,浮点数,布尔值,NONE
集合:list(列表) tuple(元组)
数据类型:dict(dictionary) 字典,使用 键(key)-值(value)对 存储 优点:具有极速的查找速度。
EG:列表:username = [“lisi”,“wangwu”]
Score = [3,4]
字典:用大括号{}表示。
d={“lisi”:3,“wangwu”:78}
记住了: 缩进符号很重要,
‘’’
1.如果全篇(就是python代码)没有缩进“tab”,那说明没有for while if
else eilf 等条件(流程)控制语句和循环控制语句。

for i in range(5):
print(" “(5-i),"”*(i+1))

d={“zahngsan”:89,“lisi”:90,“wangwu”:78}
print(d)
print(d[“zhangsan”]) # 取字典里面的某个值
#改变字典当中的值
#方式一
d[“zhangsan”] = 99
print(d[“zhangsan”])
#如果键不存在于字典当中会报错。

d[“xiaoming”]

#KeyError: ‘xioaming’

#判断键是否存在于字典中
print("—",d.get(“lisi1”))
#删除字典当中的wangwu元素
d.pop(“wangwu”)
print(d)

一行一行的输出字典当中的键值

print(d[“zhangsan”])
print(d[“zhangsan”])
print(d[“lisi”])

#循环打印字典
d1={“zahngsan”: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
1 = dic1[“zhangsan”]
1[1]
print(dic1[“zhangsan”][1])

dic2 = {‘lisi’:{“爱好”:[1,2,3],“score”:98}}
#如何取3
a = dic2[‘lisi’:]

zhangsan:89

lisi:90

相关文章:

  • 2021-07-27
  • 2021-09-11
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-27
  • 2022-12-23
  • 2021-04-25
猜你喜欢
  • 2022-12-23
  • 2021-09-27
  • 2021-06-14
  • 2022-02-06
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案