文章目录
- 一、知识点总括
- 1.表格数据使用字典和列表存储,并实现访问
- 2.字典核心底层原理
- 3.根据键查找”键值对“的底层过程
- 4.集合
- 5.控制语句
- 6.循环结构
- 7.for循环和可迭代对象遍历
- 总结
前言:昨天太累了,所以就没有更了,今天补上(大哭)
一、知识点总括
1.表格数据使用字典和列表存储,并实现访问
a1 ={'name':'汤小一','age':18,'salary':30000,'city':'北京'}
a2 ={'name':'汤小二','age':19,'salary':40000,'city':'南京'}
a3 ={'name':'汤小六','age':20,'salary':50000,'city':'上海'}
tb = [a1,a2,a3]
print(tb)
#获得第一行的人的薪资
print(tb[0].get('salary'))
#打印表中所有的薪资
for i in range(len(tb)):
print(tb[i].get('salary'))
#打印表的所有数据
for i in range(len(tb)):
print(tb[i].get('name'),tb[i].get('age'),tb[i].get('salary'),tb[i].get('city'))
2.字典核心底层原理
字典对象的核心是散列表。 散列表是一个稀疏数组(总是有空白元素的数组),数组的每个单元叫做bucket。 每个bucket有两个部分:一个是键对象的引用,一个是值对象的引用
3.根据键查找”键值对“的底层过程
a.get('name')
4.集合
集合是无序可变,元素不能重复。 实际上,集合底层是字典实现,集合的所有元素都是字典中的”键对象“,因此是不能重复的且唯一的。
5.控制语句
#选择结构
mum = input("请输入一个小于10的数字:")
if int(mum)<10:
print(mum)
b = []
if not b:
print("空的列表是false")
c = True #非空字符串也是:True
if c:
print("c")
#双分支结构
a = input("请输入一个数字:")
if int(a)<100:
print("a是一个小于100的数字")
else:
print("a是一个大于等于100的数字")
#三元条件运算符
a = input("请输入一个数字:")
print("s是小于100的数字" if int(a)<100 else "a是大于等于100的数字")
多分支结构(多分支结构,几个分支之间是有逻辑关系的,不能随便颠倒顺序。
实例:输入一个学生的成绩,将其转化成简单描述:不及格(小于60)、及格(60-79)、良好(80-89)、优秀(90-100)
#方法一:使用完整的条件表达(单分支)
score = int(input("请输入一个学生的成绩:"))
grade=''
if (0<score<60):
grade = '不及格'
if (score>= 60 and score<80):
grade = '及格'
if (score>= 80 and score<90):
grade = '良好'
if (score>= 90 and score<=100):
grade = '优秀'
print("分数是{0},等第是{1}".format(score,grade))
#方法二:多分支结构
score = int(input("请输入一个学生的成绩:"))
grade=''
if score<60:
grade = '不及格'
elif score<80:
grade = '及格'
elif score<90:
grade = '良好'
else:
grade = '优秀'
print("分数是{0},等第是{1}".format(score,grade))
选择结构嵌套
实例:输入一个分数,分数在0-100之间。90以上是A,80以上是B,70以上是C,60以上是D。60以下是E
score = int(input("请输入一个在0-100之间的数字:"))
grade = ''
if score>100 or score<0:
score = int(input('输入错误!!!!!请重新输入一个在0-100之间的数字:'))
else:
if score>=90:
grade = 'A'
elif score>=80:
grade = 'B'
elif score>=70:
grade = 'C'
elif score>=60:
grade = 'D'
else:
grade = 'E'
print("分数是{0},等第是{1}".format(score, grade))
#方法二:
score = int(input("请输入一个分数:"))
degree = "ABCDE"
num = 0
if score>100 or score<0:
score = int(input('输入错误!!!!!请重新输入一个在0-100之间的数字:'))
else:
num = score//10
if num<6:
num=5
print("分数是{0},等第是{1}".format(score, degree[9-num])
6.循环结构
whlie循环 格式: while 条件表达式: 循环体语句
# 利用while循环打印小于10的数字
num = 0
while num<=10:
print(num,end="\t")
num += 1
#计算数字1-100的累加和
num1 = 0
sum_all = 0
while num1<=100:
sum_all = num1 + sum_all
num1 += 1
print("1-100所有数的累加和:",sum_all)
7.for循环和可迭代对象遍历
格式: for 变量 in 可迭代对象: 循环体语句
实例代码:
for i in(100,200,300):
print(i*30)
#字符串
for i in "abcdefgh":
print(i,end="\t")
d={'name':'汤小一','age':18,'job':'student'}
for i in d:
print(i,end="\t")
for i in d.keys(): #遍历字典所有的键
print(i)
for i in d.values(): #遍历字典的所有值
print(i)
for i in d.items(): #遍历字典所有的”键值对“
print(i)
#range对象
# range(start,end,[step])
for i in range(10):
print(i,end='\t')
练习:利用for循环,计算1-100之间数字的累加和;计算1-100之间偶数的累加和,计算1-100之间奇数的累加和
sum_all = 0 #1-100所有数的累加和
sum_even = 0 #1-100偶数的累加和
sum_odd = 0 #1-100奇数的累加和
for num in range(0,101):
sum_all += num
if num%2 ==0:
sum_even += num
else:
sum_odd +=num
print("1-100所有数的累加和{0},1-100偶数的累加和{1},1-100奇数的累加和{2}".format(sum_all,sum_even,sum_odd))