【头歌系统Python实验】顺序与选择结构

目录

第1关:顺序结构

第2关:选择结构:if-else

第3关:选择结构 : 三元操作符


如果对你有帮助的话,不妨点赞收藏评论一下吧,爱你么么哒😘❤️❤️❤️

第1关:顺序结构

任务描述

程序最基本的结构就是顺序结构,顺序结构就是程序按照语句顺序,从上到下依次执行各条语句。

本关要求学习者理解顺序结构,并对输入的三个数changeonechangetwoplus先交换changeonechangetwo值,然后再计算changeone + plus的值。

相关知识

要实现上述功能,需要严格按照顺序来实现每一个步骤。如果顺序错误,那么便会得出错误的结果。

顺序结构

顺序结构如下图1所示:

图1


图 1 顺序结构示意图

假设存在abc三个整数,如果按照以下顺序执行:

  1. c = a + b

  2. b = c - a

  3. a = b + c

与按照以下顺序:

  1. b = c - a

  2. a = b + c

  3. c = a + b

得出的abc的结果是不同的。

交换数值

假设存在整数a = 10b = 20,交换ab数值的语句如下:

  1. tmp = a

  2. a = b

  3. b = tmp

编程要求

本关的编程任务是补全inTurn.py文件中的函数部分,程序中给出abc三个整数,要求实现先交换ab的值,然后计算a + c的值并输出。

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

  1. changeOne = int(input())

  2. changeTwo = int(input())

  3. plus = int(input())

  4. # 请在此添加代码,交换changeOne、changeTwo的值,然后计算changeOne、plus的和result的值

  5. ########## Begin ##########

  6. ########## End ##########

  7. print(result)

测试说明

本关的测试文件是src/step1/inTurntest.py,测试过程如下:

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

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

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

测试输入:

  1. 2

  2. 5

  3. 10

预期输出:

  1. 15


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

changeOne = int(input())
changeTwo = int(input())
plus = int(input())# 请在此添加代码,交换changeOne、changeTwo的值,然后计算changeOne、plus的和result的值
########## Begin ##########
temp=changeOne
changeOne=changeTwo
changeTwo=temp
result=changeOne+plus########## End ##########
print(result)

第2关:选择结构:if-else

任务描述

程序的第二大结构就是选择结构。在此结构中,程序通过对一个代码块或者几个代码块的判断来决定接下来运行哪一个代码块。以下场景还原了选择结构的现实场景: 某公司根据员工的工龄来决定员工工资的涨幅,如下所示:

  • 工龄大于等于5年并小于10年时,涨幅是现工资的5%

  • 工龄大于等于10年并小于15年时,涨幅是现工资的10%

  • 工龄大于等于15年时,工资涨幅为15%

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

相关知识

选择结构

选择结构如下图1所示:

图1


图 1

if-else语句

在 Python 中,if-else语句用于控制程序执行,基本形式为:

  1. if 判断语句1:

  2. step1

  3. else:

  4. step2

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

  1. name = 'choose'

  2. #判断变量name是否为'choose'

  3. if name == 'choose'

  4. print("条件成立")

  5. else

  6. print("条件不成立")

elif语句

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

  1. if 判断语句1:

  2. step1

  3. elif 判断语句2:

  4. step2

  5. elif 判断语句3:

  6. step3

  7. ……

  8. else:

  9. step

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

  1. userId = 43

  2. #判断员工号

  3. if userId == 10:

  4. print("这是10号员工")

  5. elif userId == 22:

  6. print("这是22号员工")

  7. elif userId == 18:

  8. print("这是18号员工")

  9. else:

  10. print("员工ID为:",userId)

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

编程要求

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

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

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

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

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

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

  1. workYear = int(input())

  2. # 请在下面填入如果workYear < 5的判断语句

  3. ########## Begin ##########

  4. ########## End ##########

  5. print("工资涨幅为0")

  6. # 请在下面填入如果workYear >= 5 and workYear < 10的判断语句

  7. ########## Begin ##########

  8. ########## End ##########

  9. print("工资涨幅为5%")

  10. # 请在下面填入如果workYear >= 10 and workYear < 15的判断语句

  11. ########## Begin ##########

  12. ########## End ##########

  13. print("工资涨幅为10%")

  14. # 请在下面填入当上述条件判断都为假时的判断语句

  15. ########## Begin ##########

  16. ########## End ##########

  17. print("工资涨幅为15%")

测试说明

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

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

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

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

测试输入:

  1. 10

预期输出:

  1. 工资涨幅为10%


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

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

第3关:选择结构 : 三元操作符

任务描述

程序中的选择结构中除了if-elseelif之外,还有一个三元操作符。三元操作符也是根据条件判断执行哪一个代码块,但它的最大特点是不需要像if-else语句那样写多行代码,而是只需一行代码。
本关要求学习者能够学会并使用三元操作符来判断谁才是射击比赛的赢家。

相关知识

三元操作符

三元操作符的基本格式为:

  1. result = x if x < y else y

其中,x < y为判断语句。若x < y为真则result = x,否则result = y

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

编程要求

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

  • 根据输入的jimjerry的射击得分进行判断;

  • jim得分更高,则赢家为jim,输出jim的名字;

  • jerry得分更高,则赢家为jerry,输出jerry的名字。

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

  1. jimscore = int(input())

  2. jerryscore = int(input())

  3. # 请在此添加代码,判断若jim的得分jimscore更高,则赢家为jim,若jerry的得分jerryscore更高,则赢家为jerry,然后输出赢家的名字。

  4. ########## Begin ##########

  5. ########## End ##########

  6. print(winner)

测试说明

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

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

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

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

测试输入:

  1. 13
  2. 15

预期输出:

  1. jerry

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

jimscore = int(input())
jerryscore = int(input())
# 请在此添加代码,判断若jim的得分jimscore更高,则赢家为jim,若jerry的得分jerryscore更高,则赢家为jerry,并输出赢家的名字
########## Begin ##########
winner="jim" if jimscore>jerryscore else "jerry"########## End ##########
print(winner)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/257510.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Dockerfile介绍

1. DockerFile介绍 dockerfile是用来构建docker镜像的文件&#xff01;命令参数脚本&#xff01; 构建步骤&#xff1a; 1、编写一个dockerfile文件 2、docker build 构建成为一个镜像 3、docker run运行镜像 4、docker push发布镜像&#xff08;DockerHub、阿里云镜像仓库…

Vue3-01-创建项目

环境准备 1.需要用到 16.0 以及更高版本的 node.js 2.使用vscode编辑器进行项目开发可以在命令行中查看node的版本号: node -v创建项目 1.准备一个目录 例如&#xff0c;我创建项目的时候是在该目录下进行的;D:\projectsTest\vue3project2.执行创建命令&#xff08;*&#x…

编程创意汇聚地,打造个性作品集 | 开源日报 No.97

spring-projects/spring-boot Stars: 70.4k License: Apache-2.0 Spring Boot 是一个用于简化 Spring 应用程序开发的框架&#xff0c;它通过提供默认配置和约定大于配置的方式来减少开发者的工作量。Spring Boot 可以快速地创建独立的、生产级别的基于 Spring 框架的应用程序…

QT----自定义信号和槽

第二天 2.1自定义信号和槽 新建一个Qtclass 自定义信号&#xff1a;返回值是void &#xff0c;只需要声明&#xff0c;不需要实现&#xff0c;可以有参数&#xff0c;可以重载 自定义槽&#xff1a;返回值void &#xff0c;需要声明&#xff0c;也需要实现&#xff0c;可以有…

python的安装

python官网地址&#xff1a;https://www.python.org/ 以在windows下安装3.12.0版本为例。 下载安装包&#xff1a; 下载下来的安装包是python-3.12.0-amd64.exe&#xff0c;双击安装&#xff0c;按照提示&#xff0c;一步一步往下走&#xff1a; 到cmd下&#xff0c;输入py…

paypal贝宝怎么绑卡支付

一、PayPal是什么 PayPal是一个很多国家地区通用的支付渠道&#xff0c;我们可以把它理解为一项在线服务&#xff0c;相当于美国版的支付宝。你可以通过PayPal进行汇款和收款&#xff0c;相比传统的电汇和西联那类的汇款方式&#xff0c;PayPal更加简单和容易&#xff0c;被很…

2023年4K投影仪怎么选?极米H6 4K高亮版怎么样?

随着人们生活水平的不断提升&#xff0c;投影仪也逐渐成为了家家户户的必备家居好物。近十年来&#xff0c;中国投影仪市场规模增长数倍&#xff0c;年均增长率大幅提高。从近10年的发展趋势来看&#xff0c;投影仪行业处于高速发展期。 此前&#xff0c;极米科技推出的极米H6…

来自OpenAI的官方解释:ChatGPT中的GPTs与Assistants API的区别是什么?有什么差异?

本文原文来自DataLearnerAI的官方网站&#xff1a; 来自OpenAI的官方解释&#xff1a;ChatGPT中的GPTs与Assistants API的区别是什么&#xff1f;有什么差异&#xff1f; | 数据学习者官方网站(Datalearner)https://www.datalearner.com/blog/1051701996595465 OpenAI发布的产…

WordCount 源码解析 Mapper,Reducer,Driver

创建包 com.nefu.mapreduce.wordcount &#xff0c;开始编写 Mapper &#xff0c; Reducer &#xff0c; Driver 用户编写的程序分成三个部分&#xff1a; Mapper 、 Reducer 和 Driver 。 &#xff08; 1 &#xff09; Mapper 阶段 ➢ 用户自定义的 Mapper 要继承自己的父…

快速认识什么是:Kubernetes

每次谈到容器的时候&#xff0c;除了Docker之外&#xff0c;都会说起 Kubernetes&#xff0c;那么什么是 Kubernetes呢&#xff1f;今天就来一起学快速入门一下 Kubernetes 吧&#xff01;希望本文对您有所帮助。 Kubernetes&#xff0c;一种用于管理和自动化云中容器化工作负…

Appium获取toast方法封装

一、前置说明 toast消失的很快&#xff0c;并且通过uiautomatorviewer也不能获取到它的定位信息&#xff0c;如下图&#xff1a; 二、操作步骤 toast的class name值为android.widget.Toast&#xff0c;虽然toast消失的很快&#xff0c;但是它终究是在Dom结构中出现过&…

[WMCTF2020]Make PHP Great Again require_once 特性

php源码分析 require_once 绕过不能重复包含文件的限制-安全客 - 安全资讯平台 这里是特性 我们首先来解释一下 <?php highlight_file(__FILE__); require_once flag.php; if(isset($_GET[file])) {require_once $_GET[file]; }这个是我们的源代码 PHP包含的格式是将 已…