2_19_列表、循环、控制语句、字典_0424

List:一种数据类型,可以任意添加删除元素。
Tuple元组:也是一种数据类型,有序,不能添加或删除元素,即:tuple一旦初始化就不能修改了。没有list的添加删除方法(没有append()、insert()、pop()等方法)。

Classmates=(‘zhangsan’,’list’,’wangwu’)
Money=(3000,4000,5000)

Tuple的意义:tuple不能改变,代码更安全。如果可能,能有tuple代表list就尽量用tuple。

print(“True”)
只要X是非零数值,非空字符串,非空list等,就判断为True,再判断为False。
False -——------ x = 0, x = “”, x = (), x = []

Python循环:
首先
userName = [‘zhangsan’, ‘lisi’, ‘wangwu’, ‘xiaoming’, ‘小红’]

  1. 如何打印输出userName里面的每一个元素??

    print(userName[0])

print(userName[1])

print(userName[2])

print(userName[3])

print(userName[4])

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

other = range(100)

print(other)
python2版本才可以测试
在这里插入图片描述

二、
循环:Python 的循环有两种,一种是 for…in 循环,依次把 list 或 tuple 中的每个元素迭代出来

for循环语法:

for 迭代变量 in 对象(序列):
循环体
流程图在这里插入图片描述

userName = [‘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)

练习
请利用循环依次对list中的每个名字打印出Hello, xxx!:

L = [‘Bart’, ‘Lisa’, ‘Adam’]
for i in L:
print(‘Hello,’,i,"!")

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 语句会立即离开循环

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

提示:
import random # 导入随机数模块
random = random.randint(1, 10) # 生成1到10之间的随机数

#记住:缩进符号很重要:
‘’’ 缩进符号很重要,
‘’’
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))

#定义好字典 {键:值,键:值}键:值,以逗号分隔
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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值