文章目录
- 分支结构
- 单分支
- 双分支
- 多分支
- 内联if
- 条件语句
- 案例,门票价格
- 循环
- for,in 循环
- for in 次数控制
- while 循环
- while遍历
- 跳出循环break
- 跳出循环continue
- 函数
- 函数概念
- 内置函数
- 自定义函数
- 函数进阶
- 作用域
- 参考视频
分支结构
单分支
对事情判断,然后做出选择
if 5>5:
print("true")
空格一般是4个
双分支
x=58
if x>=0:
r=x
else:
r=-x
print(r)
输出结果是 58
多分支
light="yellow"
if light=="red":
print("停")
elif light=="green":
print("行")
else:
print("注意安全")
内联if
核心是if else 写在一行
x=987
y=9699
print(x if x>y else y)
最后输出结果是 9699
条件语句
and not or 的使用
user=input("请输入您的用户名:")
password=input("请输入您的密码")
if user=="lilizong" and password=="123456":
print("欢迎登陆")
else:
print("请输入正确的用户名和密码")
案例,门票价格
age=64
if age<3:
price=0
elif age<18:
price=50
elif age<60:
price=100
else:
price=60
print(price)
循环
for,in 循环
语法结构
遍历列表
x=["李立宗","CSDN","python"]
for a,b in enumerate(x):
print(a,b)
上面的a是索引的意思, b是变量的意思
输出结果:
0 李立宗
1 CSDN
2 python
遍历元组
a=("张三","李四","wangwu")
for x,y in enumerate(a):
print(x,y)
输出结果
0 张三
1 李四
2 wangwu
遍历字典
items(): 返回字典内的key-value 对
keys(): 返回字典内所有的key 列表
values(): 返回字典中的所有value列表
x={
"李立宗":18,
"刘能":88,
"赵四":99,
"tony":100
}
for a,b in x.items():
print(a,b)
print("=====key==========")
for c in x.keys():
print(c)
print("====value=========")
for d in x.values():
print(d)
输出结果:
李立宗 18
刘能 88
赵四 99
tony 100
=====key==========
李立宗
刘能
赵四
tony
====value=========
18
88
99
100
遍历字符串
y="lilizong CSND Python"
for a in y:
print(a)
输出结果是
一个一个字母串在一起
for in 次数控制
x=range(8,20,3)
print(x)
print(list(x))
y=range(1,23)
print(list(y))
z=range(20)
print(list(z))
输出结果是
range(8, 20, 3)
[8, 11, 14, 17]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
第二种方式
for i in range(1,50,3):
print(i,"haha")
意思是 ,开始是1 ,终止值是50 , 步长一般默认是1 ,这里是3
输出为:
1 haha
4 haha
7 haha
10 haha
13 haha
16 haha
19 haha
22 haha
25 haha
28 haha
31 haha
34 haha
37 haha
40 haha
43 haha
46 haha
49 haha
while 循环
while 一般是针对一个条件下进行操作,和for 循环各有千秋
i=1 #初始值
while i<10:
print(i)
i+=2 #步长
输出结果
1
3
5
7
9
while遍历
x=[4545,7655,4563,653]
i=0
while i<len(x):
print("======这是第",i+1,"次循环============")
print("刚刚进入循环时i的值是:",i)
print("x[",i,"]=",x[i])
i+=1
print("i的值加1后:",i)
输出结果:
======这是第 1 次循环============
刚刚进入循环时i的值是: 0
x[ 0 ]= 4545
i的值加1后: 1
======这是第 2 次循环============
刚刚进入循环时i的值是: 1
x[ 1 ]= 7655
i的值加1后: 2
======这是第 3 次循环============
刚刚进入循环时i的值是: 2
x[ 2 ]= 4563
i的值加1后: 3
======这是第 4 次循环============
刚刚进入循环时i的值是: 3
x[ 3 ]= 653
i的值加1后: 4
跳出循环break
#在没有使用break的情况下,循环要遍历整个列表
x=[0,234,52,1,88,25,2345,2,5,235]
flag=0
number=1
for a in x:
print("循环执行第",number,"次")
if a==0:
flag=1
number+=1
if flag==0:
print("没有遇到0")
else:
print("遇到了0")
输出结果:
循环执行第 1 次
循环执行第 2 次
循环执行第 3 次
循环执行第 4 次
循环执行第 5 次
循环执行第 6 次
循环执行第 7 次
循环执行第 8 次
循环执行第 9 次
循环执行第 10 次
遇到了0
跳出循环continue
#输出的是偶数
x=[34523,452,5,2,523,5,25,2,523,5,235,254,89]
for i in x:
if i%2==1: #这里i的值,为奇数时,为真;为偶数时,结果为假
continue
print(i)
输出结果
452
2
2
254
例子2
a=[38,98,90,67,89,-1,782,100,0,6,6,76,7,7,7,45]
for i in a:
if 0<=i<=100:
continue
print("请关注不合理的的成绩:",i)
输出结果:
请关注不合理的的成绩: -1
请关注不合理的的成绩: 782
函数
函数概念
函数是一个辅助工具,可以复用,拿别人造好的轮子
◼内置函数:Python自身带有的,实践中使用非常频繁的一些函数;
◼自定义函数:通常指,程序员自己定义自己使用的函数;
◼模块函数:把一些函数,单独地放在被称为模块的文件中,这些函数就被称为模块函数。这些函数可能是Python自带的,也可能是 由第三方开发的一些函数。
内置函数
x=dict(李立宗=89,刘能=100) #key-value值对,键值对
print(x)
输出结果
{'李立宗': 89, '刘能': 100}
# min,计算最小值
# max,计算最大值
# sum,求和
# pow,计算指数
# abs,绝对值
x=[34,21,345,12,51,51,35,516]
print(min(x))
print(max(x))
print(sum(x))
print(pow(2,3))
print(abs(-987))
输出结果
12
516
1065
8
987
# # all() 函数用于判断给定的可迭代参数 iterable 中的
# # 所有元素是否都为 TRUE,如果是返回 True;
# # 否则返回 False。
# # 元素除了是 0、空、None、False 外都是 True。
# print(all([1,2,3,4,6]))
# print(all([1,2,3,0,43,4]))
# print(all(["li","wang","sdf"]))
# print(all(["li","","sdf"]))
# print(all(["li","wang","sdf"]))
# print(all(["li",None,"sdf"]))
# print(all([True,True,True]))
# print(all([True,False,True]))
**
自定义函数
def area1():
print(3.14*10*10)
def area2(r):
print(3.14*r*r)
def area3():
return 3.14*10*10
def area4(r):
return 3.14*r*r
area1()
area2(10)
print(area3())
print(area4(10))
这里注意一个要点,def 函数名(参数):
其中的参数的意思是,调用的时候,可以直接写入进去,里面写的就是要被调用的
函数进阶
局部函数,函数里面有函数
def my(leixing,shuzhi):
def double(shuzhi):
return shuzhi*2
def myAdd(shuzhi):
return shuzhi+10
def myElse(shuzhi):
return -shuzhi
if leixing=="a" :
return double(shuzhi)
elif leixing=="add":
return myAdd(shuzhi)
else:
return myElse(shuzhi)
print(my("a",5))
print(my("add",50))
print(my("myElse",-6))
print(my("sadfadfadf",9))
输出结果是:
10
60
6
-9
匿名函数
lambda x:x*2
等同于
def fun(x)
return x*2
比如
def computer(mode):
if mode=="add":
return lambda n:n+15
elif mode=="jian":
return lambda n:n-15
else:
return lambda n:n*6
x=computer("add")
print(x(8))
y=computer("jian")
print(y(10))
z=computer("xasdfa")
print(z(6))
输出:
23
-5
36
作用域
主打一个思路
# 离开函数体,其中的变量就消失了
x="外部的值"
def change():
global x # 函数内部的改变,影响到全局值
x="内部改变了的值"
print(x)
print(x)
change()
print(x)
输出结果
外部的值
内部改变了的值
内部改变了的值
参考视频
https://edu.csdn.net/learn/35464/529412?spm=3001.4143