Python 入门之控制结构 – 顺序与选择结构——第2关:选择结构:if-else

任务描述

程序的第二大结构就是选择结构。在此结构中,程序通过对一个代码块或者几个代码块的判断来决定接下来运行哪一个代码块。以下场景还原了选择结构的现实场景:

某公司根据员工的工龄来决定员工工资的涨幅,如下所示:

工龄大于等于5年并小于10年时,涨幅是现工资的5%;
工龄大于等于10年并小于15年时,涨幅是现工资的10%;
工龄大于等于15年时,工资涨幅为15%。

本关的任务是让学习者理解选择结构,学会使用最基本的选择语句:if-else语句。

相关知识

选择结构
选择结构如下图1所示:
在这里插入图片描述
图 1
if-else语句
在 Python 中,if-else语句用于控制程序执行,基本形式为:

if 判断语句1:
    step1
else:
    step2

当判断语句1为真时,执行step1,否则执行step2。例如:

name = 'choose'
#判断变量name是否为'choose'
if name == 'choose'
    print("条件成立")
else
    print("条件不成立")

elif语句
当判断条件有多个时,则用elif语句,基本形式为:

if 判断语句1:  
   step1  
elif 判断语句2:  
   step2  
elif 判断语句3:  
   step3  
……
else:  
   step

当判断语句1为真时,执行step1,当判断语句1为假、判断语句2为真时执行step2,……,最后判断语句都为假时执行step。例如:

userId = 43
#判断员工号
if userId == 10:
    print("这是10号员工")
elif userId == 22:
    print("这是22号员工")
elif userId == 18:
    print("这是18号员工")
else:
    print("员工ID为:",userId)

如果您想了解更多选择结构的相关知识,请参考:[美] Katie Cunningham 著《Python 入门经典》第三章。

编程要求
本关的编程任务是补全choose.py文件中的判断语句部分,具体要求如下:

填入如果workYear < 5的判断语句;

填入如果workYear >= 5 and workYear < 10的判断语句;

填入如果workYear >= 10 and workYear < 15的判断语句;

填入当上述条件判断都为假时的判断语句。

本关涉及的代码文件choose.py的代码框架如下:

workYear = int(input())
# 请在下面填入如果workYear < 5的判断语句
########## Begin ##########
########## End ##########
    print("工资涨幅为0")
# 请在下面填入如果workYear >= 5 and workYear < 10的判断语句
########## Begin ##########
########## End ##########
    print("工资涨幅为5%")
# 请在下面填入如果workYear >= 10 and workYear < 15的判断语句
########## Begin ##########
########## End ##########
    print("工资涨幅为10%")
# 请在下面填入当上述条件判断都为假时的判断语句
########## Begin ##########
########## End ##########
    print("工资涨幅为15%")

测试说明

本文的测试文件是src/step2/choosetest.py,具体测试过程如下:

学习者将src/step2/choose.py中的代码补充完毕,然后点击评测。平台自动编译运行choosetest.py,并以标准输入方式提供测评输入;

平台获取程序的输出,然后将其与预期输出对比。如果一致则测试通过,否则测试失败。

以下是平台对src/step2/choosetest.py的样例测试集:

测试输入:

10

预期输出:

工资涨幅为10%

开始你的任务吧,祝你成功!

目标的实现是那些具体的、可衡量的步骤,跟进你的目标,实现你的理想。

参考答案

workYear = int(input())
# 请在下面填入如果workYear < 5的判断语句
########## Begin ##########
if workYear < 5:
########## End ##########
    print("工资涨幅为0")
# 请在下面填入如果workYear >= 5 and workYear < 10的判断语句
########## Begin ##########
if workYear >= 5 and workYear < 10:
########## End ##########
    print("工资涨幅为5%")
# 请在下面填入如果workYear >= 10 and workYear < 15的判断语句
########## Begin ##########
if workYear >= 10 and workYear < 15:
########## End ##########
    print("工资涨幅为10%")
# 请在下面填入当上述条件判断都为假时的判断语句
########## Begin ##########
else:
########## End ##########
    print("工资涨幅为15%")

版权声明:本文为wswhngs原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
THE END
< <上一篇
下一篇>>