知识点1:
if语句的使用,主要就是缩进和冒号的问题。
示范如下:
cars = ["bike", "tesila", "aodi", "baoma", "xuetielong"]
for car in cars: #这里要分号
if car == "tesila":
print(f"这辆{car},你会刹车吗?")
else: #我也要我也要
print(f"{car} is a good car")
print(cars)
知识点2:
判断相等==;判断不等!=都很简单,有手就行。然后与或非等条件判断,python采用 and or not来解决。
代码示例如下:
age = 18
if age > 17 and age < 19: #你甚至可以写成 17<age<19
print("哇哦,永远的十八岁耶")
if age < 15 or age > 17:
print("哇哦,你的年龄有点难猜哦")
if not age != 18:
print("什么嘛,也就是永远十八岁嘛")
知识点3:
检测特定值是否包含在列表中
ages=[10,20,25,26,40,48]
age=19
if age in ages:
print("这个年龄真的有欸")
else:
print("这个年龄就是逊啦")
知识点4:
if-elif-else 其实就是 if else if else的python版本
age=16
if age<4:
print("you are free!")
elif age<16:
print("please show your tickets")
else:
print("you are too old to join us")
知识点5:
当使用列表名作为判断条件时,如果列表不为空,则返回bool判断值True,如果为空,则返回bool判断值False
第六章
知识点6:
字典,有点类似于C/C++的结构体的格式。
示例如下:
example={'name':"yinfeiyu",'age':21}
print(example['name'])
print(example['age'])
字典可以随时添加键值,其示例如下:
example={'name':"yinfeiyu",'age':21}
print(example)
example['sex']="man" #我丈育了,性别应该是male和female
example['birthday']='19991113'
print(example)
输出结果如下:
可以看到结果中额外插入了两个元素,分别是sex和birthday。
知识点7:
删除键值,使用del删除键值示例如下;
example={'name':"yinfeiyu",'age':21}
print(example)
example['sex']="man"
example['birthday']='19991113'
print(example)
del example["name"]
print(example)
example[123]='wocao' #卧槽,这也行。。。 也就是键值名不一定要是字符串,是数字也行
print(example)
知识点8:
规范化字典代码格式
example={
1:"one",
2:"two",
3:"three",
5:"five"
}
print(example[1])
知识点9:
字典的get方法:
example={
1:"one",
2:"two",
3:"three",
5:"five"
}
message=example.get(4,"sorry,we don't have this number")
message2=example.get(2,"sorry,we don't have this number")
print(message)
print(message2)
在使用诸如example[12]
类似的代码时,一旦无该键值(也就是12),编译器就会报错,程序无法正确执行,但是我们可以通过get方法,在键值存在时输出对应的值,不存在时则返回我们指定的信息。
值得一提的是,如果get方法没有给出第二个参数,系统在未搜索到指定键值时自动返回None。
知识点10:
遍历整个字典,同时讲述了for循环的进阶用法。
example={
1:"one",
2:"two",
3:"three",
5:"five"
}
for number, English_number in example.items(): #注意这里的 items()
print(f"\tnumber: {number}")
print(f"\tEnglis_number: {English_number}")
for循环中不仅仅可以使用一个参数,另外注意使用.item()
同样 使用keys()函数可以达到同样的效果:
for number, English_number in example.items(): #注意这里的 items()
print(f"\tnumber: {number}")
print(f"\tEnglis_number: {English_number}")
print("------------------------------------------------")
for number in example.keys(): #keys()可以省略
print(f"\tnumber: {number}")
print(f"\tEnglish_number:{example[number]}")
分割线上下两部分代码完全等效。
可以利用keys()返回所有的键值,因此同样也可以利用values()返回所有的值。
但是这样也会存在一个问题,很显然我们知道字典中键不会重复,但是不能保证值不会重复,那么如果我们只想要不重复的值,就需要set() 函数。
example={
1:"one",
2:"two",
3:"three",
5:"five",
6:"five" #我今天就是要指6为5
}
for English in set(example.values()):
print(English)
但是使用set后 似乎会从后往前输出不重复的值,不是很明白具体实现过程。
相对的,一种同样用花括号定义的结构叫做集合,集合中会自动清除相同元素。
知识点11:
超级大杂烩之超级大嵌套。
example=[]
for i in range(0,50): #i取值为0到49(包括49)的所有整数
newstudent={"number": i, "class": f"160400{int((i/20+1))}"}
example.append(newstudent)
for i in range(0,50):
number=example[i]["number"]
classname=example[i]["class"]
if classname=="1604001":
print(f"这个学生的学号是:{number},并且这个学生是1班的")
elif classname=="1604002":
print("这个是2班的")
else:
print("哥哥你是不是三班的")
顺手还回忆了一波range函数怎么用,不过说实话,python现成的函数真的多啊。
然后是切片用法:
example=[]
for i in range(0,50): #i取值为0到49(包括49)的所有整数
newstudent={"number": i, "class": f"160400{int((i/20+1))}"}
example.append(newstudent)
for i in range(0,50):
number=example[i]["number"]
classname=example[i]["class"]
if classname=="1604001":
print(f"这个学生的学号是:{number},并且这个学生是1班的")
elif classname=="1604002":
print("这个是2班的")
else:
print("哥哥你是不是三班的")
for student in example[0:10]: #这里是引号,不是逗号哥哥。
student["number"]+=100
print(student["number"])
知识点12:
套娃之超级套娃:(在字典中套娃列表)
#超级超级套娃
favourite_actress=["유야 3호","치썬리리","후카타 영미","타카야 에리카"]
student={
"name":"小明",
"tag": "LSP",
"favourite_actress":favourite_actress,
}
print(student)
其中 치썬리리 是这位:
套娃之超级超级套娃:(在字典中套娃字典)
#超级超级套娃
name={"first": "Y","middle": "F", "last": "Y"}
age=18 #此处应该有滑稽
example={"name":name,"age": age}
print(example["name"]["first"])
当然这只是一个非常非常简单的示例,你可以把age也塞到name里面,然后通过添加多个name,形成一个学生字典,每一项都是一个学生,学生信息又构成一个字典。
下面是第七章
知识点13:
input函数,简而言之就是读取用户输入的数据。
message=input("你最喜欢哪一位老师?")
print(message)
输出很简单,你在控制台打什么他就输出什么。
知识点14:
字符串之间的加法运算
message=input("你最喜欢哪一位老师?")
print(message)
message+=input("那你最喜欢她的哪一部作品呢?")
print(message)
事实上,你在print里面使用+也是可以做到连接字符串的作用的。
知识点15:
while的基础用法,以及continue和break用法和C++保持完全一致。
p=0
while p<10:
print(p)
p+=1
if p==6:
print("p已经足够大了,他现在是6")
elif p==8:
print("that is enough,stop it!")
break
continue的用法:
p=0
while p<100:
p+=1
if p%2==0:
continue
else:
print(p)
知识点16:
while的多种用法:
confirmed_films=["老八奥里给"]
unconfirmed_films=["giao","我是超威蓝猫","巨魔之王奥里给","大逼兜子","猕猴桃~嗷~"]
while unconfirmed_films:
video=unconfirmed_films.pop() #pop从后往前喷射元素
confirmed_films.append(video)
print(confirmed_films)
confirmed_films=["老八奥里给"]
unconfirmed_films=["giao","我是超威蓝猫","巨魔之王奥里给","大逼兜子","猕猴桃~嗷~"]
#假如我们不删除 unconfirmed中的元素
number=0
while number<unconfirmed_films.__len__():
confirmed_films.insert(0,unconfirmed_films[number])
print(confirmed_films)
number+=1
删除特定元素
confirmed_films=["老八奥里给"]
unconfirmed_films=[
"giao","我是超威蓝猫","巨魔之王奥里给","大逼兜子","猕猴桃~嗷~",
"giao","我是超威蓝猫","巨魔之王奥里给","大逼兜子", "猕猴桃~嗷~",
"giao","我是超威蓝猫","巨魔之王奥里给","大逼兜子","猕猴桃~嗷~",
"giao","我是超威蓝猫","巨魔之王奥里给","大逼兜子","猕猴桃~嗷~"
]
number="giao"
while number in unconfirmed_films:
unconfirmed_films.remove(number)
print(unconfirmed_films)
说实话,我不知道是不是我又先入为主的其他语言的学习经验,总感觉他这个思路和我想得完全不一样。
第八章转笔记三