今日学习
Python
刚开始打工,作息调整不过来,好几天没打卡,其实是有学习的
- 补一下课本第四章的一些样例
打工人时间有限,知识点就写在代码注释里了
# Practice_4
# 经典仁川人列表
members = ['The Shy', 'Ning', 'Rookie', 'JackeyLove', 'Baolan']
# 普通遍历
for m in members:
print(m)
# print整点别的
for m in members:
print("This is an excellent player: " + m.upper())
print("\tI can not wait to see you next time: " + m.lower())
# range 函数
# range(a, b) 从a开始,到b-1结束,也就是不包含b
print("range(3, 6): ")
for r in range(3, 6):
print(r)
# range(a, b, c) 从a开始,每次递增c,到b-1结束
print("range(1, 11, 2): ")
for r in range(1, 11, 2):
print(r)
# list 函数
# list() 会将括号内的结果直接转化成列表
numbers_1 = list(range(3, 6))
print(numbers_1)
# 平方列表
square_1 = []
for i in range(1, 6):
square_1.append(i ** 2)
print("square_1: ")
print(square_1)
square_2 = []
for i in range(1, 6):
i_s = i ** 2
square_2.append(i_s)
print("square_2: ")
print(square_2)
# 最猛
square_3 = [i ** 2 for i in range(1, 6)]
print("square_3: ")
print(square_3)
# min, max, sum,
MIN = min(square_1)
MAX = max(square_2)
SUM = sum(square_3)
print("min: " + str(MIN) + " max: " + str(MAX) + " sum: " + str(SUM))
# 切片 = 列表的部分
# members = ['The Shy', 'Ning', 'Rookie', 'JackeyLove', 'Baolan']
# [a, b] = 从 下标[a]开始,到[b-1]结束,也就是从第a+1个元素开始到第b-1个元素结束,b的下标是[b-1]
print("[0 : 3]")
print(members[0 : 3])
# [ :b] = 从头开始,遍历到 [b-1],也就是第b个结束
print("[ : b]")
print(members[1 : 4])
# [a : ] = 从 下标[a]开始,到结束
print("[2 : ]")
print(members[2 : ])
# [-a : ] = 从 倒数第a个到结束
print("[-3 : ]")
print(members[-3 : ])
# 结合切片去遍历
print(" IG 上中野: ")
for m in members[0 : 3]:
print(m.upper())
# members = ['The Shy', 'Ning', 'Rookie', 'JackeyLove', 'Baolan']
# [ : ] 就从头到尾
members_copy = members[ : ]
print("[ : ]")
print(members_copy)
# 通过 [ : ] 赋值的话,是不同的两个列表
members.append("正版Puff")
members_copy.append("复制品Puff")
print("members: ")
print(members)
print("members_copy: ")
print(members_copy)
# 如果是直接用 列表名 进行赋值,那就和C++中的引用& 差不多
members_yy = members
members.append("正版Nanfeng")
print("members:")
print(members)
members_yy.append("复制品Nanfeng")
print("members_yy:")
print(members_yy)
# 元组 = 不可修改的列表
# 元组用小括号 列表用中括号 字典用大括号
abc = (1, 2, 3)
print("初始值:")
print(abc)
# abc[1] = 3
# 尝试修改元组的值 会报错
# 但是可以去直接给整个元组赋值
abc = (4, 5, 6)
print("整体赋值:")
print(abc)
- 再补一下第五章的样例
简单的if-elif-else的结构
配合for实现简单的输出
# Practice_5
# 这一章主要讲的是 if-elif-else
# 换个巴黎人列表
FPX = ['GimGoon', 'Tian', 'Doinb', 'Lwx', 'Crisp']
# 检测队员
if 'Bo' in FPX:
print("Welcome!")
else:
print("wait a chance")
# 换一种检测方式
jungle = 'Beichuan'
if jungle not in FPX:
print("just wait a chance")
else:
print("Welcome!")
# if-elif-else
# if判定通过后 其他 elif 都不会执行
# 或者说 这些 if-elif-elif 中 如果有一个满足条件执行了,其他判定都会跳过
if 'Tian' in FPX:
print("主播老阴阳人了")
elif 'Lwx' in FPX:
print("打的好啊硬币哥,我是废物")
elif 'Crisp' in FPX:
print("傻狗别叫")
print("FPX队内氛围是这样的")
# if-else
# 同理
if 'Doinb' in FPX:
print("Doinb正站在舆论的风口浪尖上")
else:
print("现在处境有些尴尬")
# 只是if
# 相当于是分开的判断
if 'GimGoon' in FPX:
print("Gimgoon是队里的老父亲")
if 'Lwx' in FPX:
print("Lwx这孩子打小就聪明")
print("钻石ad,凌晨战神")
if 'Bo' not in FPX:
print("博人传要停播一会儿了")
FPX.append('Nuguri')
for f in FPX:
if f != 'Nuguri':
print("老父亲的接班人还在路上,小凤凰等待涅槃")
else:
print("世二抓来了!")
print("福来~菲尼克斯福来~")
- 最后是第六章案例
第六章主要讲字典,之前只懂结构体,Java中可能有类似的语法?我没有接触过,对我来说是新东西
看书的时候觉得很简单,正经敲出来又是另一回事
纸上得来终觉浅,绝知此事要躬行
# Practice_6
# 这一章讲的是字典,我只会C和C++,先前没接触过字典
# 字典大括号,列表中括号,元组小括号
# 字典中 color: green color是键key,green是值value
alien_0 = {'color': 'green', 'point': 5}
# 访问 key对应的value
# 方法就是 字典名[key]
print(alien_0['color'])
print(alien_0['point'])
newPoint = alien_0['point']
print("获得击杀分数:" + str(newPoint) + "!")
# 修改字典中的值
alien_0['color'] = 'blue'
alien_0['point'] = 10
print(alien_0)
# 小样例
alien_1 = {'color': 'blue', 'point': 10, 'speed': 20,
'xPosition': 20, 'yPosition': 20}
print("蓝色外星人的位置是: " + str(alien_1['xPosition']))
if alien_1['speed'] == 10:
print("蓝色外星人正在保持低速移动")
xAdd = 10
alien_1['xPosition'] += xAdd
elif alien_1['speed'] == 20:
print("蓝色外星人正在保持中速移动")
xAdd = 20
alien_1['xPosition'] += xAdd
else:
print("蓝色外星人正在保持高速移动")
xAdd = 30
alien_1['xPosition'] += xAdd
print("现在蓝色外星人的位置是: " + str(alien_1['xPosition']))
# 删除字典中的 key-value
# 删除 key ,也会删除 key对应的 value
print(alien_1)
del(alien_1['yPosition'])
print(alien_1)
# 能否用pop进行删除?
# pop_key = pop(alien_1['color'])
# 可! 记得pop是通过 name.pop()进行调用的
pop_key = alien_1.pop('color')
print("pop_key: ")
print(pop_key)
print(alien_1)
user = {
'userName': 'zyz',
'firstName': 'Zheng',
'lastName': 'yz'
}
# 遍历字典中所有的 key-value 用 user.items()
for k, v in user.items():
print("\nKey:" + k)
print("Value:" + v.title())
# 遍历字典中所有的 key 用 user.keys()
for k in user.keys():
print("\nKey:" + k)
# 遍历字典中的所有 value 用user.values()
for v in user.values():
print("\nValue:" + v.title())
# ****嵌套****
# 列表中存放字典
aliens = [alien_0, alien_1, user]
print("列表中嵌套字典,也就是列表中存储字典")
for a in aliens:
print(a)
print()
# 创建一个外星人的空列表
aliens = []
# 向列表中添加字典
for r in range(30):
newAlien = {'color': 'blue', 'point': 5, 'speed': 10}
aliens.append(newAlien)
# 遍历 列表 输出
# 本质上还是列表 有[a:b] 这种调用形式
for a in aliens[ : 4]:
print(a)
print("这个列表的长度是:" + str(len(aliens)))
print()
# 修改列表中字典的值
for a in aliens[ : 3]:
if a['color'] == 'blue':
a['color'] = 'pink'
a['point'] = 30
a['speed'] = 50
print("修改后的alien值:")
for a in aliens[ : 5]:
print(a)
print()
# 字典中存放列表
drinkTea = {
'size': ['中杯', '大杯', '超大杯'],
'toppings': ['阿华田', '芋圆', '珍珠', '西米', '红豆'],
'tem': ['常温', '冰', '多冰', '少冰']
}
# 如同前面的 items一样 i-j 也就是 key-value
# 这里先找 key 也就是 i, 然后在遍历 key对应的value 也就是 i对应的j
# 对应关系就是字典中的 key-value列表
for i, j in drinkTea.items():
if i == 'size':
print("饮品的大小有: ")
for j_size in j:
print(j_size)
if i == 'toppings':
print("饮品的配料有: ")
for j_toppings in j:
print(j_toppings)
if i == 'tem':
print("饮品的温度有: ")
for j_tem in j:
print(j_tem)
print("...")