python基础学习day5-控制语句

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循环

#测试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()#仅作为换行,在第二层for语句下

运行结果:在这里插入图片描述
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语句跳过错误输出情况。代码如下:

#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)#0,-10,-20,-30
    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的第五天,加油!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值