一,流程控制
1.if语句
如果
属于条件控制语句
2.使用
2.1 简单if语句
语法:
if表达式:
语句
说明:单分支,要么执行语句,要么不执行,执行与否取决于表达式是否成立,
何为真假?
假:False,0,None,""
2.2 if-else
语句:
if 表达式:
语句1
else:
语句2
说明:双分支[二选一]
案例
num=6
ifnum>5:
print("num大于5")
else:
print("num小于5")
2.3 多分支
语法:
if 表达式:
语句一
elif 表达式2:
语句二
elif 表达式3:
语句三
。。。。。。
else:
语句n
说明: 多分支[多选一]
案例
score=50
ifsorce<60:
print("该次绩效为D")
elifscorescore>=60andscore<70:
print("该次绩效为c")
elifscore>=70andscore<80:
print("该次绩效为B")
elifscore>=80andscore<90:
print("该次绩效为B+")
elifscore>=90andscore<100:
print("该次绩效为A")
else:
print("A+")
2.4嵌套
语法:
if 表达式1:
if 表达式2:
语句
说明:只有满足了嵌套逻辑,才会执行语句
注意:嵌套层数最好别超过三层,为了代码的刻度性和可维护性
二,循环结构
1. while循环
1.1 while
语法:
while 表达式:
执行语句
工作原理:当表达式为真的时候,执行结构体的语句,否则不执行
# 需求:0-100之间的和
sum=0
i=0
whilei<101:
sum+=i
i+=1
print(sum)
1.2 while-else
语法:
while表达式:
语句1
else:
语句2
注意:当正常执行完毕时候,执行else
否则以外中断[break],不执行else
1.3 无限循环
在循环语句中,表达式永远为真的循环
while True:
# 循环体
while 1:
# 循环体
2.for
2.1 for-in循环
语法:
for 变量名 in 列表:
语句
# 求偶数
forninrange(1,101):
ifn%2==0:
print("{}是个偶数".format(n))
# 换一种方式求偶数
forninrange(1,101):
ifn%2==1:
continue
# 打印偶数
print("{}是个偶数".format(n))
# 求奇数
forninrange(1,101):
ifn%2==1:
print("{}是奇数".format(n))
2.2 列表生成式
[exp for iter_var in iterable]
l= [1,2,3,4,5,6,7,8,9,10]
ls= []
foriteminl:
ls.append(item**2)
print(ls)
简化:
ls= [x**2forxinl]
range(100):默认步长step=1,start=0
range(1,100):start=1,end=100,step=1
range(1,100,2):start=1,end=100,step=2
注意range特性:左闭右开(包头不报尾)
2.3 同时遍历列表中索引和元素
l= [1,2,3,4,5,6,7,8,9,10]
forindex,numinenumerate(1):
ifindex%2==0:
print(index,num)
记录:
enumerate可以包装序列,内置函数,返回索引和值
2.4 小结
for 循环可以遍历的对象(字符串,列表,元组)
遍历字典/文件
可以用在列表生成式
#右侧正三角形
forjinrange(1,10):
forxinrange(1,10-j):
print(' ',end='')
foriinrange(1,j+1):
print(i,end='')
print('')
#右侧倒三角形
mylist=list(range(1,10))
mylist.reverse()
print(mylist)
forjinmylist:
forxinrange(1,10-j):#输出空格
print(' ',end='')
newlist=list(range(1,j+1))
newlist.reverse()
foriinnewlist:
print(i,end='')
print('')
三,循环关键字
1.Break
当满足某个条件下,立刻结束整个循环,break可以用在for和while
for lettr in "python"
if lettr == "h":
break
print(ltter)
输出结果:pyt
#10 每次都减1,当减到5的时候,结束本次循环
var = 10
while var > 0:
print(var)
var -= 1
if var == 5:
break
2.continue
结束本次循环,并立即进入下次循环
for letter in "python"
if letter == "h"
print("continue语句之后的字母")
continue
print("打印当前字符:{}".format(letter))
跳过5 就不打印
var = 10
while var > 0:
var -= 1
if var == 5:
continue
print(var)
3.pass
不执行任何命令,只是保持语法的准确性,相当于"占位符"
for letter in "python":
if letter == "h":
pass
print(letter,end="")
四,案例
1,while + if +break
无限输入,当我输入
记事本: 打印出记事本
进 程: 打印进程
退 出: 打印退出
默 认: 输出其他
"""
# 无限输入 while + if 循环
while True:
context = input("请输入你要打印内容:\n")
if context == "记事本":
print("记事本")
elif context == "进程":
print("进程")
elif context == "退出":
break
else:
print("输出其他")
2.交换
# x 与 y 的交换
# 第1种
x = 3
y = 5
x,y = y,x
# 第二种
x = 3
y = 5
x = x + y
y = x - y
x = x - y
print(x,y)
# 第三种
x = 3
y = 5
x = x ^ y
y = x ^ y
x = x ^ y
print(x,y)
3.猜数字
num = 10
while True:
try:
num_input = eval(input("输个数:\n"))
if num == num_input:
print("good")
break
elif num > num_input:
print("你输的太小了")
else:
print("你输的太大了")
except:
print("请输入正确的数")