Python(自学之旅五)

还是老规矩(详情见上篇)

我们来深入了解一下上一期的字典

我们先从字典底层原理看起

我们再来看看我们平时讲一个键值对放进字典在底层是怎么实现的

 

 

那我们根据键在字典中查找,底层做了什么呢?

 

 

 字典用法总结:

 好啦,那我们从这里继续了解Python的一些基础知识

集合

 

实例:

# 集合
a = ['a', 'b', 'c', 'b', 'e', 'f']
b = set(a)  # 通过set可以使它变成一个集合
print(b)

# remove() 删除指定元素
b.remove("c")
print(a)

# clear() 清空整个集合
b.clear()
print(a)


# 集合相关操作  并集(把两个集合(数据)合起来,不包括重复的),交集(取出两个集合中相同的元素),差集(取出第一个集合中元素在另一个集合中不相同的)
a = {1, 3, "sxt"}
b = {'he', 'it', 'sxt'}

# 并集 两种方式 返回结果一致
print(a | b)  # 返回结果: {1, 3, 'he', 'sxt', 'it'}
print(a.union(b))  # 返回结果: {1, 3, 'he', 'sxt', 'it'}
# # 交集 两种方式 返回结果一致
print(a & b)  # 返回结果:{'sxt'}
print(a.intersection(b))  # 返回结果:{'sxt'}
# # 差集 两种方式 返回结果一致
print(a - b)  # 返回结果:{1, 3}
print(a.difference(b))  # 返回结果:{1, 3}

 控制语句

 选择结构

 

单分支选择结构 

实例:

# 控制语句
a = input("请输入一个小于10的数字")

# if语句
if int(a)<10:  # 进行数学判断 需要用户输入的值为数字类型
    print(a)  # 输出结果:2

b = []  # 由于是空列表,是False
if not b:  # b本身为空,是False,所以不会打印 加一个not 就是非的意思(意思倒过来) 就能进行打印
    print("大傻逼")  # 输出结果:大傻逼

c = "False"  # 非空字符串 都为true 数字不为0的 都是True
if c:  # 非空就打印
    print("c")  # 输出结果:c

# if 3<c and (c=20)  # 条件判断语句不要写“赋值操作符(例如:=)” 否则直接报错

 条件表达式详解

 

 

双分支选择结构

 实例:

# 双分支语句 if else
a = input("请输入一个数字")

if int(a)<10:
    print("这是一个小于10的数字")
else:
    print("这是一个大于或等于10的数字")
# 输出结果:这是一个大于或等于10的数字

 三元条件运算符

 实例:

# 测试三元运算符
a = input("请输入一个数字")
print("大聪明" if int(a)<10 else "嘿嘿嘿")  # 输出结果:嘿嘿嘿

多分支选择结构

 

实例:

a = input("请输入你家逆子的分数")

if int(a) > 80:
    bx = "优秀"
elif int(a) > 50:
    bx = "良好"
elif int(a) > 30:
    bx = "差"
else:
    bx = "要加油哦"

print("你的逆子分

选择结构嵌套

 

实例:

score = int(input("请输入一个0-100之间的数字"))

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 ="滚滚滚,这么垃圾好意思吗"
    print("分数为{0},等级为{1}".format(score, grade))  # 输出结果:分数为46,等级为滚滚滚,这么垃圾好意思吗

 相对难一点的方式:

# 第二种方式 通过拿字符串长度来判断
score = int(input("请输入一个0-100之间的数字"))
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]))

                                                                                                                                                                       循环结构                   

                                                                                                                                                                                                                       

while循环 

实例:

# while循环
num = 0
while num < 100:  # 条件满足就一直循环
    print(num,end="\t")  # 用空格拼接起来,没有则是默认换行
    num += 1  # 每次加一  结果: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	


# 打印1-100的和
# sum = 0
# num = 0
# while num <= 100:  # 1-100的数字 大于100跳出循环
#    sum = sum + num  # 每次相加都是sum里面的值加上num当前的值
#    num += 1;
# print("1-100的和为",sum)

 for循环和可迭代对象遍历

 

实例:

# 元祖
for x in (10, 20, 30):  # 依次输出元祖中的数
    print(x*3)  # 输出后乘以3  
输出结果:
30
60
90

# 字符串
for y in "abcdefq":  # 依次输出每一个字符串
    print(y)  # 这里可以用list转为列表  
输出结果:
a
b
c
d
e
f
q

# 字典
a = {"name": "小明", "age": 18, "sex": "男"}

#打印所有的键
for z in a:
    print(z)  
# 输出结果:name
# age
# sex
# 打印所有的键
for z in a.keys():
    print(z)
    # 输出结果:name
    # age
    # sex
# 打印所有的值
for z in a.values():
    print(z)
 # 输出结果:小明
    # 18
    # 男
# 打印所有的键值对
for z in a.items():
    print(z)
 # 输出结果:('name', '小明')
# ('age', 18)
# ('sex', '男')

range对象 

 实例:

# 利用range对象操作
# 计算1-100相加
sum = 0
for a in range(101):
    sum += a
print(sum)
# 计算1-100偶数相加
sum = 0
for a in range(101):
    if a%2==0:
     sum += a
print(sum)
# 计算1-100奇数相加
sum = 0
for a in range(101):
    if a%2!=0:
     sum += a
print(sum)

# 一次计算出1-100、奇数偶数和并打印
sum = 0  # 偶数和
sum1 = 0  # 奇数和
sum2 = 0  # 1-100的和
for a in range(101):
    sum2 += a
    if a%2==0:
        sum+=a
    else:
        sum1+=a
print("1-100累加起来的和为{0},其偶数和为{1},奇数和为{2}".format(sum2,sum,sum1))

 好啦,下期再见

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值