python基础学习-Pycharm开发环境
python控制语句章节学习将通过实操作业进行总结
1、输入一个学生的成绩,将其转换成简单的描述:不及格(小于60)、及格(60-70)、良好(80-89)、优秀(90-100). 分析:本题可直接用if 条件语句表达,完整的条件语句保证每个分支都是独立的、完整的判断,可以随意挪动顺序,而不影响程序运行。也可以使用多分支结构,这样每个分支之间都是有逻辑关系的,不能随意挪动顺序。
(1)采用完整的条件表达
score=int(input("请输入分数:"))
grade=''
if (score<60):
grade="不及格"
if(60<=score<80):
grade = "及格"
if(80<=score<90):
grade = "良好"
if (80 <= score < 90):
grade="优秀"
print("分数是{0},等级是{1}".format(score,grade))
输入输出结果为: (2)使用多分支结构
score=int(input("请输入分数:"))
grade=''
if (score<60):
grade = "不及格"
elif score<80:
grade = "及格"
elif score<90:
grade = "良好"
elif score<=100:
grade = "优秀"
print("分数是{0},等级是{1}".format(score, grade))
输入输出结果: 2、已知坐标点(x,y),判断所在象限。 分析:采用if语句多分支嵌套,进行对x,y值的正负进行判断,其输出结果应包含:原点、x轴、y轴、第一象限、第二象限、第三象限、第四象限。
if多分支嵌套结构代码:
x=int(input("请输入x轴坐标:"))
y=int(input("请输入y轴坐标:"))
if(x==0 and 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("第二象限")
输入输出结果: 3、输入一个分数,在0-100之间。90以上是A,80以上是B,70以上是C,60以上是D,60以下是E. 分析:使用选择嵌套结构完成。输出结果应包含,“错误数字”、“A"、”B“、”C“、”D“、”E“。
score=int(input("请输入分数(0-100):"))
grade=''
if score<0 or score>100:
print("错误数字,请重新输入0-100")
else:
if score<60:
grade="E"
elif score<70:
grade = "D"
elif score<80:
grade="C"
elif score<90:
grade="B"
else:
grade="A"
print("分数是{0},等级是{1}".format(score, grade))
输入输出结果: 4、利用while循环,计算1-100之间的数数字累加和;计算1-100之间的偶数累加和;计算1-100之间的奇数累计和。 分析:利用while循环语句描述,也可以利用for循环语句描述,注意条件内容。 (1)采用while循环
num=0
sum_all=0
sum_even=0
sum_odd=0
while num<=100:
sum_all=sum_all+num
if num%2==0:
sum_even=sum_even+num
else:
sum_odd=sum_odd+num
num+=1
print("1-100所有数的和:",sum_all)
print("1-100内所有偶数的和:",sum_even,)
print("1-100内所有奇数的和:",sum_odd)
运行结果: (2)采用for循环
'''for循环'''
sum_all=0
sum_even=0
sum_odd=0
for x in range(101):
sum_all+=x
if x%2==0:
sum_even+=x
else:
sum_odd+=x
print("1-100所有数的和:","1-100内所有偶数的和:","1-100内所有奇数的和:",sum_all,sum_even,sum_odd)
运行结果: 5、打印如下图形: 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 分析:使用range(),循环嵌套,5行5列的数据表,用x循环行数,用y循环列数,用制表符和print()实现换行。代码如下:
'''嵌套循环'''
for x in range(5):
for y in range(5):
print(x,end="\t")
print()
运行结果: 6、利用嵌套循环打印九九乘法表。 分析:与第5题相同方法,双层嵌套,注意九九惩罚表的形式,对列循环做好条件语句描述,代码如下:
'''打印九九乘法表'''
for m in range(1,10):
for n in range(1,m+1):
print("{0}*{1}={2}".format(m,n,(m*n)),end="\t")
print()
运行结果: 7、使用列表和字典打印存储如下信息,并打印出表中工资高于15000的数据。 分析:用列表和字典存储表格内容在序列中已经做了总结,打印出表格中工资高于15000的数据,需要对整个表格做循环结构描述,并添加打印条件,可用for语句与if语句嵌套完成, 代码如下:
a1=dict(name='小一',age=18,salary=30000,city='北京')
a2=dict(name='小二',age=19,salary=390000,city='上海')
a3=dict(name='小三',age=20,salary=10000,city='深圳')
tb=[a1,a2,a3]
for s in tb:
if s.get("salary")>15000:
print(s)
运行结果: 8、要求输入员工的薪资,若薪资小于0则重新输入。最后打印出录入员工的数量和薪资明细,以及平均薪资。 分析:使用循环语句,需要定义三个变量,输出三个变量,利用break语句结束循环进程,利用continue语句跳过错误输出情况。代码如下:
empNum=0
salarySum=0
salarys=[]
while True:
s=input("请输入员工答薪资(按Q或q结束)")
if s.upper()=="q":
print("录入完成,退出")
break
if float(s)<0:
continue
empNum+=1
salarys.append(float(s))
salarySum+=float(s)
print("员工数量{}".format(empNum))
print("录入薪资:",salarys)
print("平均薪资{}".format(salarySum/empNum))
运行结果: 9、员工一共4人,录入这4人的薪资。全部录入后,打印提示”您已全部录入4人的薪资。最后,打印录入的薪资和平均薪资。 分析:可以使用range语句共循环4次,用break语句跳出循环,用continue语句跳到下一步,整体可以使用多支分析结构的if嵌套语句。 代码如下:
salary=[]
salarySum=0
for i in range(4):
s=input("请输入一共四名员工的薪资(按Q或结束)")
if s.upper()=="q":
print("录入完成,退出")
break
if float(s)<0:
continue
salary.append(float(s))
salarySum += float(s)
else:
print("您已经全部录入4名员工的薪资")
print("录入薪资:",salary)
print("平均薪资{}".format(salarySum/4))
运行结果: 10、使用海龟绘图,绘制同心圆。 分析:使用for循环结构,利用turtle模块绘图,首先分析绘图的循环体为有规律的移动画笔位置,重复一种画圆操作,找到循环体后利用for语句构建循环结构。可以利用turtle模块的其他语句丰富图像。 代码如下:
import turtle
t=turtle.Pen()
my_colors=('red','blue','black','yellow','green')
t.width(5)
t.speed(0)
for i in range(10):
t.penup()
t.goto(0,-i*10)
t.pendown()
t.color(my_colors[i%len(my_colors)])
t.circle(5+i*10)
turtle.done()
运行结果: 11、使用海龟绘图,绘制18*18的棋盘。 分析:利用for循环语句,循环体为行、列移动画线18次,使用turtle模块,goto语句可以完成。 代码:
import turtle
t=turtle.Pen()
t.goto(360,0)
t.speed(0)
for i in range(0,19):
t.penup()
t.goto(0,-20*i)
t.pendown()
t.goto(360,-20*i)
for i in range(0,19):
t.penup()
t.goto(0,0)
t.pendown()
t.goto(20*i,0)
t.goto(20*i,-360)
t.hideturtle()
turtle.done()
运行结果图: 学习python的第五天,加油!
|