选择结构
1
a=input("请输入一个小于10的整数:")
if int(a)<10:
print(a)
条件表达式中不能使用“=”
if、else 语句
s=input("请输入一个数字:")
if int(s)>10:
print("大于10的整数")
else:
print("小于等于10的整数") ##双分支选择语句
print("大于10" if int(s)>10 else "小于10") ##三元结构
多分支结构
#测试多分支选择结构
'''输入一个学生的成绩,将其简单描述:不及格(小于60)、及格(60-79)、良好(80-89)、优秀(90-100)。'''
score=int(input("请输入成绩:"))
grade=''
if (score<60):
grade="不及格"
elif(score<80):
grade="及格"
elif(score<90):
grade="良好"
else:
grade="优秀"
print("分数是{0},等级是{1}".format(score,grade))
判断点所在位置
x=int(input("请输入坐标x:"))
y=int(input("请输入坐标y:"))
if (x==0&y==0):
print("是坐标原点")
elif(x==0):
print("在y轴上")
elif(y==0):
print("在x轴上")
elif(x>0 and y>0):
print("在第一象限")
elif(x>0 and y<0):
print("在第四象限")
elif(x<0 and y>0):
print("在第二象限")
else:
print("在第三象限")
循环结构
while循环
a=0
while a<10:
print(a,end="\t")
a+=1
a=0
sum=0
while a<=100: ##计算0到100的和
sum+=a
a+=1
print(sum)
for循环
# 利用for循环,计算1-100之间的累加和,和偶数奇数的和
sum = 0
a = 0
b = 0
for i in range(101):
sum += i
if i % 2 == 0:
a += i
else:
b += i
print("1到100的合为{0},偶数和{1},奇数合{2}".format(sum,a,b))
for x in range(5):
for y in range(5):
print(x, end="\t")
print() ##自带换行的功能
用for循环打出99乘法表
##打印99乘法表
for x in range(1,10):
for y in range(1,x+1):
print("{0}*{1}={2}".format(x,y,(x*y)),end="\t")
print()
break和continue的区别
1.break
意思为结束循环
例:
i = 0
while i<10:
i+=1
if i==5: #当i=5时,结束整个循环
break
print("i=%d"%i)
代码效果:
i=1
i=2
i=3
i=4
2.continue
意思为结束当前循环进入下一个循环
例:
i = 0
while i<10:
i+=1
if i==5: #当i=5时,结束当前循环进入下一个循环
continue
print("i=%d"%i)
代码效果:
i=1
i=2
i=3
i=4
i=6
i=7
i=8
i=9
i=10
以上循环没有i=5
break只能跳出最近的一层循环。用于for和while循环中,用来结束整个循环。
else
循环正常结束的时候是调用else,循环是用break跳出的话不调用else。
循环代码优化
1.尽量减少循环内部不必要的计算
2.嵌套循环尽量减少内层循环的计算
3.局部变量查询比较快
zip
zip()可以进行并行迭代
推导式
## 字典推导式
a=("i love fdz,i love myy,i love yjj")
b={i:a.count(i) for i in a}
print(b)
##正常for循环
a=("i love fdz,i love myy,i love yjj")
for i in a:
b=a.count(i)
print(i,b,end="\t")
集合推导式和字典推导式都是用{}创建,而列表使用[]创建。
生成器推导式只能使用一次!
小程序
import turtle
a=turtle.Pen()
colors=("red","green","blue","black")
a.width(8)
a.speed(0)
for i in range(100):
a.penup()
a.goto(0,-i*10)
a.pendown()
a.color(colors[i%len(colors)])
a.circle(10+i*10)
turtle.done()
画同心圆
import turtle
a=turtle.Pen()
colors=("red","green","blue","black")
a.width(8)
a.speed(0)
for i in range(100):
a.penup()
a.goto(0,-i*10)
a.pendown()
a.color(colors[i%len(colors)])
a.circle(10+i*10)
turtle.done() ##是为了让画完图停留以方便观察