网站 备案号 放置,只有一个域名怎么做网站,设计师导航网站大全,楼市最新消息2022年房价走势第六节 控制语句选择结构多分支选择结构选择结构的嵌套循环结构while循环for循环和可迭代对象遍历range 对象嵌套循环breakcontinueelse语句循环代码优化使用zip推导式创建序列列表推导式字典推导式集合推导式生成器推导式综合练习绘制不同颜色的多个同心圆选择结构
选择结构通…
第六节 控制语句选择结构多分支选择结构选择结构的嵌套循环结构while循环for循环和可迭代对象遍历range 对象嵌套循环breakcontinueelse语句循环代码优化使用zip推导式创建序列列表推导式字典推导式集合推导式生成器推导式综合练习绘制不同颜色的多个同心圆选择结构
选择结构通过判断条件是否成立来决定执行哪个分支。选择结构有多种形式分为单分支、双分支和多分支。流程图如下 sinput(请输入一个数字)
if int(s)10:print(s是小于10的数字)
else:print(s是大于等于10的数字)
#测试三元条件运算符
print(s是小于10的数字if int(s)10 else s是大于等于10的数字)请输入一个数字55
s是大于等于10的数字
s是大于等于10的数字Process finished with exit code 0多分支选择结构 score int(input(请输入分数))
grade
if(score60):grade不及格
if(60score80):grade 及格
if(80score90):grade 良好
if(90score100):grade 优秀
print(分数是{0}等级是{1}.format(score,grade))请输入分数79
分数是79等级是及格Process finished with exit code 0score int(input(请输入分数))
grade
if(score60):grade不及格
elif score80:grade及格
elif score90:grade良好
elif score100:grade 优秀
print(分数是{0}等级是{1}.format(score,grade))请输入分数89
分数是89等级是良好Process finished with exit code 0选择结构的嵌套 score int(input(请输入分数))
if score100 or score0:print(请输入一个0-100的分数)
else:if score90:print(A)elif score 80:print(B)elif score 70:print(C)elif score 60:print(D)else:print(E)print(分数是{0}等级是{1}.format(score,grade))score int(input(请输入分数))
degreeABCDE
num0
if score100 or score0:print(请输入一个0-100的分数)
else:numscore//10if num6:num5print(分数是{0}等级是{1}.format(score,degree[9-num]))请输入分数89
分数是89等级是BProcess finished with exit code 0循环结构 while循环 num0
while num10:print(num)num1#计算1-100之间数字的累加和
num20
sum_all0
while num2100:sum_allsum_allnum2num21
print(1-100所有数的累加和,sum_all)快捷键目录标题文本样式列表链接代码片表格注脚注释自定义列表LaTeX 数学公式插入甘特图插入UML图插入Mermaid流程图插入Flowchart流程图 目录复制
for循环和可迭代对象遍历 d{name:gaoqi,age:18,address:西三旗}
for x in d:print(x)
for x in d.keys():print(x)
for x in d.values():print(x)
for x in d.items():print(x)
name
age
address
name
age
address
gaoqi
18
西三旗
(name, gaoqi)
(age, 18)
(address, 西三旗)Process finished with exit code 0range 对象 sum_all0
sum_even0
sum_odd0
for num in range(101):sum_allnumif num%20:sum_evennumelse:sum_oddnumnum1
print(1-100所有数的累加和,sum_all)
print(1-100所有偶数的累加和,sum_even)
print(1-100所有奇数的累加和,sum_odd)
1-100所有数的累加和 5050
1-100所有偶数的累加和 2550
1-100所有奇数的累加和 2500Process finished with exit code 0嵌套循环 for x in range(5):for y in range(5):print(x,end\t)print()#天然有换行for m in range(1,10):sfor n in range(1,m1):sstr.format({0}*{1}\t,m,n,m*n)print(s)0 0 0 0 0
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4
1*1
2*1 2*2
3*1 3*2 3*3
4*1 4*2 4*3 4*4
5*1 5*2 5*3 5*4 5*5
6*1 6*2 6*3 6*4 6*5 6*6
7*1 7*2 7*3 7*4 7*5 7*6 7*7
8*1 8*2 8*3 8*4 8*5 8*6 8*7 8*8
9*1 9*2 9*3 9*4 9*5 9*6 9*7 9*8 9*9 r1dict(name高小一,age18,salary30000,city北京)
r2dict(name高小二,age19,salary20000,city上海)
r3dict(name高小五,age20,salary10000,city深圳)
tb[r1,r2,r3]
for x in tb:if x.get(salary)15000:print(x)结果输出
{name: 高小一, age: 18, salary: 30000, city: 北京}
{name: 高小二, age: 19, salary: 20000, city: 上海}break while True:ainput(请输入一个字符输入q或Q时退出)if aq or a Q:print(循环结束退出)breakelse:print(a)
continue empNum0
salarySum0
salarys[]
while True:sinput(请输入员工工资数按q或Q结束)if s.upper()Q: #小写字母转大写print(录入完成退出)breakif float(s)0:continueempNum1salarys.append(float(s))#append加入工资项salarySumfloat(s)
print(员工数{0}.format(empNum))
print(录入工资,salarys)
print(平均薪资{0}.format(salarySum/empNum))#foramt会把参数按位置顺序来填充到字符串中第一个参数是0然后1 ……结果
请输入员工工资数按q或Q结束7000
请输入员工工资数按q或Q结束90000
请输入员工工资数按q或Q结束q
录入完成退出
员工数2
录入工资 [7000.0, 90000.0]
平均薪资48500.0Process finished with exit code 0else语句 循环代码优化 其他优化手段 1.连续多个字符串使用join()而不使用 2.列表进行元素插入和删除尽量在列表尾部操作
使用zip for i in [1,2,3]:print(i)
names(高琪,高老二,高老三,高老四)
ages(18,16,20,25)
jobs(老师,程序员,公务员)for name,age,job, in zip(names,ages,jobs):print({0}--{1}--{2}.format(name,age,job))
for i in range(3):print({0}--{1}--{2}.format(names[i],ages[i],jobs[i]))1
2
3
高琪--18--老师
高老二--16--程序员
高老三--20--公务员
高琪--18--老师
高老二--16--程序员
高老三--20--公务员Process finished with exit code 0推导式创建序列 列表推导式 字典推导式 集合推导式 生成器推导式 生成元组tuple gnt是可迭代对象可以循环
综合练习
绘制不同颜色的多个同心圆
import turtle
t turtle.Pen()
my_colors(red,green,yellow,black)
t.width(4)
t.speed(0)
for i in range(50):t.penup()t.goto(0,-i*10)t.pendown()t.color(my_colors[i%len(my_colors)])t.circle(15i*10)
turtle.done() #程序执行完窗口仍然在