实验3、顺序与选择结构
目录
第1关:顺序结构
第2关:选择结构:if-else
第3关:选择结构 : 三元操作符
第1关:顺序结构
- 任务描述
- 相关知识
- 顺序结构
- 交换数值
- 编程要求
- 测试说明
任务描述
程序最基本的结构就是顺序结构,顺序结构就是程序按照语句顺序,从上到下依次执行各条语句。
本关要求学习者理解顺序结构,并对输入的三个数changeone
、changetwo
、plus
先交换changeone
、changetwo
值,然后再计算changeone + plus
的值。
相关知识
要实现上述功能,需要严格按照顺序来实现每一个步骤。如果顺序错误,那么便会得出错误的结果。
顺序结构
顺序结构如下图1所示:
图 1 顺序结构示意图
假设存在a
、b
、c
三个整数,如果按照以下顺序执行:
c = a + b
b = c - a
a = b + c
与按照以下顺序:
b = c - a
a = b + c
c = a + b
得出的a
、b
、c
的结果是不同的。
交换数值
假设存在整数a = 10
、b = 20
,交换a
、b
数值的语句如下:
tmp = a
a = b
b = tmp
编程要求
本关的编程任务是补全inTurn.py
文件中的函数部分,程序中给出a
、b
、c
三个整数,要求实现先交换a
、b
的值,然后计算a + c
的值并输出。
本关涉及的代码文件inTurn.py
的代码框架如下:
changeOne = int(input())
changeTwo = int(input())
plus = int(input())
# 请在此添加代码,交换changeOne、changeTwo的值,然后计算changeOne、plus的和result的值
########## Begin ##########
########## End ##########
print(result)
测试说明
本关的测试文件是src/step1/inTurntest.py
,测试过程如下:
学习者将
src/step1/inTurn.py
中的代码补充完毕,然后点击评测。平台自动编译运行inTurntest.py
,并以标准输入方式提供测评输入;平台获取程序的输出,然后将其与预期输出对比。如果一致则测试通过,否则测试失败。
以下是平台对src/step1/inTurntest.py
的样例测试集:
测试输入:
2
5
10
预期输出:
15
开始你的任务吧,祝你成功!
答案
changeOne = int(input())
changeTwo = int(input())
plus = int(input())
# 请在此添加代码,交换changeOne、changeTwo的值,然后计算changeOne、plus的和result的值
########## Begin ##########
changeOne = changeTwo
result = changeTwo + plus
########## End ##########
print(result)
第2关:选择结构:if-else
- 任务描述
- 相关知识
- 选择结构
- if-else语句
- elif语句
- 编程要求
- 测试说明
任务描述
程序的第二大结构就是选择结构。在此结构中,程序通过对一个代码块或者几个代码块的判断来决定接下来运行哪一个代码块。以下场景还原了选择结构的现实场景:
某公司根据员工的工龄来决定员工工资的涨幅,如下所示:
- 工龄大于等于
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%")
第3关:选择结构 : 三元操作符
- 任务描述
- 相关知识
- 三元操作符
- 编程要求
- 测试说明
任务描述
程序中的选择结构中除了if-else
、elif
之外,还有一个三元操作符。三元操作符也是根据条件判断执行哪一个代码块,但它的最大特点是不需要像if-else
语句那样写多行代码,而是只需一行代码。
本关要求学习者能够学会并使用三元操作符来判断谁才是射击比赛的赢家。
相关知识
三元操作符
三元操作符的基本格式为:
result = x if x < y else y
其中,x < y
为判断语句。若x < y
为真则result = x
,否则result = y
。
如果您想了解更多选择结构的相关知识,请参考:[美] Katie Cunningham 著《 Python 入门经典》
第三章。
编程要求
本关的编程任务是补全isWin.py
文件中的判断语句部分,具体要求如下:
- 根据输入的
jim
与jerry
的射击得分进行判断; - 若
jim
得分更高,则赢家为jim
,输出jim
的名字; - 若
jerry
得分更高,则赢家为jerry
,输出jerry
的名字。
本关涉及的代码文件isWin.py
的代码框架如下:
jimscore = int(input())
jerryscore = int(input())
# 请在此添加代码,判断若jim的得分jimscore更高,则赢家为jim,若jerry的得分jerryscore更高,则赢家为jerry,然后输出赢家的名字。
########## Begin ##########
########## End ##########
print(winner)
测试说明
本文的测试文件是src/step3/isWintest.py
,具体测试过程如下:
学习者将
src/step3/isWin.py
中的代码补充完毕,然后点击评测。平台自动编译运行isWintest.py
,并以标准输入方式提供测评输入;平台获取程序的输出,然后将其与预期输出对比。如果一致则测试通过,否则测试失败。
以下是平台对src/step3/isWintest.py
的样例测试集:
测试输入:
13
15
预期输出:
jerry
开始你的任务吧,祝你成功!
答案
jimscore = int(input())
jerryscore = int(input())
# 请在此添加代码,判断若jim的得分jimscore更高,则赢家为jim,若jerry的得分jerryscore更高,则赢家为jerry,并输出赢家的名字
########## Begin ##########
winner = 'jerry' if jimscore < jerryscore else 'jim'
########## End ##########
print(winner)
实验3、顺序与选择结构相关推荐
- 实验一 顺序与选择结构(Python 头歌)
第1关:顺序结构 任务描述 程序最基本的结构就是顺序结构,顺序结构就是程序按照语句顺序,从上到下依次执行各条语句. 本关要求学习者理解顺序结构,并对输入的三个数changeone.changetwo. ...
- python入门之控制结构顺序与选择结构_Python 入门之控制结构 - 顺序与选择结构——第1关:顺序结构...
Python 入门之控制结构 - 顺序与选择结构--第1关:顺序结构 任务描述 程序最基本的结构就是顺序结构,顺序结构就是程序按照语句顺序,从上到下依次执行各条语句. 本关要求学习者理解顺序结构,并对 ...
- Python 入门之控制结构 - 顺序与选择结构
第1关:顺序结构 任务描述 程序最基本的结构就是顺序结构,顺序结构就是程序按照语句顺序,从上到下依次执行各条语句. 本关要求学习者理解顺序结构,并对输入的三个数changeone.changetwo. ...
- C语言中的程序设计——顺序、选择结构程序设计
俗话讲C语言为一种计算机语言,那怎么才能成功运行呢?那就是依靠这个程序的设计,之所以有了这些程序才能使C语言成功"跑"起来 1.顺序结构程序 就是一种由上到下编程结构,自上而下就叫 ...
- Linux 与 Python编程2021 顺序与选择结构 educoder实训
第1关:顺序结构 编程要求 本关的编程任务是补全inTurn.py文件中的函数部分,程序中给出a.b.c三个整数,要求实现先交换a.b的值,然后计算a + c的值并输出. 本关涉及的代码文件inTur ...
- Python入门---顺序与选择结构
一.顺序结构 程序最基本的结构就是顺序结构,顺序结构就是程序按照语句顺序,从上到下依次执行各条语句. 顺序结构如下图所示: 假设存在a.b.c三个整数,如果按照以下顺序执行: c = a + b b ...
- Python顺序与选择结构
一.顺序结构 假设存在a.b.c三个整数,如果按照以下顺序执行: c = a + b b = c - a a = b + c 与按照以下顺序: b = c - a a = b + c c = a + ...
- 数据挖掘与机器学习:顺序与选择结构
目录 第1关:顺序结构 任务描述: 相关知识: 一.顺序结构: 二.交换数值: 编程要求: 测试说明: 第2关:选择结构:if-else 任务描述: 相关知识: 一.选择结构: 二.if - else ...
- Python基础语法函数——顺序与选择结构
第1关:顺序结构 任务描述 程序最基本的结构就是顺序结构,顺序结构就是程序按照语句顺序,从上到下依次执行各条语句. 本关要求学习者理解顺序结构,并对输入的三个数changeone.changetwo. ...
最新文章
- 在Centos 7下编译openwrt+njit-client
- linux shell 字符串 文件内容 大小写 转换 替换
- python 结束子线程并保证工作完成_python3中在线程中结束工作进程的方法
- 20. C# -- Base, this 关键字
- android bu,Android请求权限之不再询问或禁止不再提示
- 树莓派上使用QT+ffmpeg进行音频编码+部署自启动+双击不启动问题
- cin判断读取结束 C++语言
- protel 99se中文版
- 浙江丽水龙泉计算机培训,浙江丽水龙泉中等职业学校
- 2021年,阿里月薪50k招数据分析师,这个要求过分吗?
- linux远程连接命令
- cuba_CUBA 7的新功能
- python找房源_python抓取链家房源信息(三)
- Vue-----table 控件自动勾选全选框2 与tab控件组合使用
- STARK代码详细学习笔记
- CSS中-moz-、-ms-、-webkit-、-o-的意义
- 高德3D动态地图—旋转视角
- 烂泥:Domino8.5服务器迁移方案
- spss分组统计的方法
- 晶体管发明往事:误打误撞,反目成仇,共享诺贝尔奖