Day5-Python基础知识(4.控制语句)

1.选择结构

       (1) 单分支选择结构的语法格式
                 if 条件表达式:
                         语句/语句块

        (2)双分支选择结构的语法格式
                if 条件表达式:
                        语句 1/语句块 1
                else:
                        语句 2/语句块 2

        (3)多分支选择结构的语法格式
                if 条件表达式 1 :
                        语句 1/语句块 1
                elif 条件表达式 2:
                        语句 2/语句块 2
                .
                .
                .
                elif 条件表达式 n :
                        语句 n/语句块 n
                [else:
                        语句 n+1/语句块 n+1
                ]

        注:1.条件表达式:可以是逻辑表达式、关系表达式、算术表达式等等。
                2.语句/语句块:可以是一条语句,也可以是多条语句。多条语句,缩进必须对齐一致。                  3.选择结构可以嵌套,使用时一定要注意控制好不同级别代码块的缩进量,因为缩进量决定了代码的从属关系。

                4.多分支结构,几个分支之间是有逻辑关系的,不能随意颠倒顺序。

                5.在 Python 中,条件表达式不能出现赋值操作符“=”。

2.循环结构

        (1)while循环的语法格式

                while 条件表达式:
                        循环体语句

        (2)for 循环的语法格式(for 循环通常用于可迭代对象的遍历)

                 for 变量 in 可迭代对象:
                        循环体语句
        注:1.Python 包含以下几种可迭代对象:序列(字符串、列表、元组)、字典、迭代器对象(iterator)、生成器函数(generator)、文件对象

3.break语句

        break 语句可用于 while 和 for 循环,用来结束整个循环。当有嵌套循环时,break 语句只
能跳出最近一层的循环。

4.continue语句

        continue 语句用于结束本次循环,继续下一次。多个循环嵌套时,continue 也是应用于最
近的一层循环。

5.else语句

        while、for 循环可以附带一个 else 语句(可选)。如果 for、while 语句没有被 break 语句
结束,则会执行 else 子句,否则不执行。

6.实操作业

        (1) 输入一个学生的成绩,将其转化成简单描述:不及格(小于 60)、及格(60-79)、良好
(80-89)、优秀(90-100)

score=int(input("请输入学生成绩:"))
grade=""

if score <60:
    grade="不及格"
elif 60< score <79:
    grade = "及格"
elif 80 < score < 89:
    grade = "良好"
elif 90 < score < 100:
    grade = "优秀"

print("分数:{0},等级:{1}".format(score,grade))

        (2) 已知点的坐标(x,y),判断其所在的象限

x=int(input("请输入x坐标"))
y=int(input("请输入y坐标"))

if (x==0 and y==0):
    print("(x,y)为原点")
elif x == 0:
    print("(x,y)在y轴上")
elif y == 0:
    print("(x,y)在x轴上")
elif (x > 0 and y > 0):
    print("(x,y)在第一象限")
elif (x<0 and y>0):
    print("(x,y)在第二象限")
elif (x<0 and y<0):
    print("(x,y)在第三象限")
else:
    print("(x,y)在第四象限")

        (3) 输入一个分数。分数在 0-100 之间。90 以上是 A,80 以上是 B,70 以上是 C,60 以上
是 D。60 以下是 E

score=int(input("请输入成绩(0-100之间):"))
grade=""

if (score<0 or score>100):
    score = int(input("输入错误,请重新输入成绩:"))
else:
    if score <60:
        grade = "E"
    elif 60 <= score < 70:
        grade = "D"
    elif 70 <= score < 80:
        grade = "C"
    elif 80 <= score < 90:
        grade = "B"
    else:
        grade = "A"
    print("分数:{0},等级:{1}".format(score,grade))

        (4) 利用 while 循环,计算 1-100 之间数字的累加和;计算 1-100 之间偶数的累加和,计算
1-100 之间奇数的累加和。

num = 0
num_all_sum = 0
num_odd_sum = 0
num_even_sum = 0

while num <= 100:
    num_all_sum += num
    if num % 2 == 0:
        num_even_sum += num
    else:
        num_odd_sum += num
    num += 1

print("1-100 之间所有数字的累加和:",num_all_sum)
print("1-100 之间所有偶数的累加和:",num_even_sum)
print("1-100 之间所有奇数的累加和:",num_odd_sum)

        (5) 利用 for 循环,计算 1-100 之间数字的累加和;计算 1-100 之间偶数的累加和,计算
1-100 之间奇数的累加和。

num_all_sum = 0
num_odd_sum = 0
num_even_sum = 0

for num in range(101):
    num_all_sum += num
    if num % 2 == 0:
        num_even_sum += num
    else:
        num_odd_sum += num
    num += 1

print("1-100 之间所有数字的累加和:",num_all_sum)
print("1-100 之间所有偶数的累加和:",num_even_sum)
print("1-100 之间所有奇数的累加和:",num_odd_sum)

        (6) 打印如下图案
                        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

for x in range(5):
    for y in range(5):
        print(x,end="\t")
    print()

        (7) 利用嵌套循环打印九九乘法表。

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()

        (8) 用列表和字典存储下表信息,并打印出表中工资高于 15000 的数据。

a1 = dict(name="高小一", age=18, 薪资=30000, 城市="北京")
a2 = dict(name="高小二", age=19, 薪资=20000, 城市="上海")
a3 = dict(name="高小五", age=20, 薪资=10000, 城市="深圳")

tb = [a1, a2, a3]

for x in tb:
    if x.get("薪资") > 15000:
        print(x)

        (9) 要求输入员工的薪资,若薪资小于 0 则重新输入。最后打印出录入员工的数量和薪资明细,以及平均薪资。

employees_sum = 0
salarys_sum = 0
salarys = []

while True:
    s = input("请输入员工薪资(按Q或q退出):")

    if s.upper() == "Q":
        print("录入完成,退出")
        break
    if float(s) < 0:
        continue

    employees_sum += 1
    salarys_sum += float(s)
    salarys.append(float(s))
print("员工数{}".format(employees_sum))
print("薪资明细:",salarys)
print("平均薪资:",salarys_sum/employees_sum)

        (10)员工一共 4 人。录入这 4 位员工的薪资。全部录入后,打印提示“您已经全部录入 4
名员工的薪资”。最后,打印输出录入的薪资和平均薪资。

salarys_sum = 0
salarys = []

for x in range(4):
    s = input("请输入4名员工薪资(按Q或q退出):")

    if s.upper() == "Q":
        print("录入完成,退出")
        break
    if float(s) < 0:
        continue
    salarys.append(float(s))
else:
    print("您已经全部录入4名员工的薪资")

print("员工数:{}".format(4))
print("薪资明细:",salarys)
print("平均薪资:",salarys_sum/4)

        (11) 使用海龟绘图,绘制同心圆:

import turtle
a = turtle.Pen()
colors =["red","blue","green","purple","yellow"]
turtle.width(3)

for i in range(5):
    a.color(colors[i%len(colors)])
    a.penup()
    a.goto(0,-100*i)
    a.pendown()
    a.circle(15+100*i)

turtle.done()

        (12) 使用海龟绘图,绘制 18*18 的棋盘:

import turtle
a = turtle.Pen()
a.speed(10)

width=20


for i in range(-9,10):
    a.penup()
    a.goto(-180,i*width)
    a.pendown()
    a.goto(180,i*20)

for j in range(-9,10):
    a.penup()
    a.goto(j*width,-180)
    a.pendown()
    a.goto(j*width,180)

turtle.done()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值