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

news2025/1/18 3:24:48

目录

第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.coloradmin.cn/o/1293893.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

批量AI写作生成器有哪些?免费的批量AI写作生成器

当今信息爆炸的时代&#xff0c;文案需求量庞大&#xff0c;传统文案写作已无法满足快速迭代的需求。批量AI写作生成器应运而生&#xff0c;成为许多行业的得力助手。在众多AI写作工具中&#xff0c;147原创助手以其批量AI写作功能和在各大平台显示原创首发的特性脱颖而出。本文…

大数据项目——基于Django/协同过滤算法的房源可视化分析推荐系统的设计与实现

大数据项目——基于Django/协同过滤算法的房源可视化分析推荐系统的设计与实现 技术栈&#xff1a;大数据爬虫/机器学习学习算法/数据分析与挖掘/大数据可视化/Django框架/Mysql数据库 本项目基于 Django框架开发的房屋可视化分析推荐系统。这个系统结合了大数据爬虫、机器学…

redis-学习笔记(hash)

Redis 自身已经是 键值对 结构了 Redis 自身的键值对就是通过 哈希 的方式来组织的 把 key 这一层组织完成后, 到了 value 这一层, 还可以用 哈希类型 来组织 (简单的说就是哈希里面套哈希 [数组里面套数组 -> 二维数组] ) [ field value ] hset key field value [ field va…

C++刷题 -- 链表

C刷题 – 链表 文章目录 C刷题 -- 链表1.删除链表的倒数第 N 个结点2.链表相交3.环形链表 1.删除链表的倒数第 N 个结点 https://leetcode.cn/problems/remove-nth-node-from-end-of-list/ 快慢指针的应用 fast指针先移动N步&#xff0c;slow依然指向head&#xff1b;然后fa…

对Spring源码的学习:二

目录 SpringBean实例化流程 Spring的后处理器 Bean工厂后处理器 SpringBean实例化流程 Spring容器在进行初始化时&#xff0c;会将xml配置的<bean>的信息封装成一个BeanDefinition对象&#xff0c;所有的BeanDefinition存储到一个名为beanDefinitionMap的Map集合中去…

成品短视频app源码选择指南

作为一名有志于开发短视频app的创业者&#xff0c;选择合适的成品短视频app源码至关重要。一款优秀的成品短视频app源码可以帮助你节省开发时间&#xff0c;加速上线进程&#xff0c;快速实现盈利。但在众多的选择中&#xff0c;如何找到适合自己的成品短视频app源码呢&#xf…

商业案例实战:Python数据可视化之四象限图

1.四象限图的含义 四象限图是一种针对二维数据&#xff08;x&#xff0c;y&#xff09;的平面图形。二维数据&#xff08;x&#xff0c;y&#xff09;的两个维度垂直交叉在一起&#xff0c;分别构成四象限图的X轴及Y轴。两个维度所有样本的均值&#xff08;即x的均值和y的均值…

在 Docker 容器中运行 macOS:接近本机性能,实现高效运行 | 开源日报 No.96

cxli233/FriendsDontLetFriends Stars: 2.6k License: MIT 这个项目是关于数据可视化中好的和不好的实践&#xff0c;作者通过一系列例子解释了哪些图表类型是不合适的&#xff0c;并提供了如何改进或替代它们。主要功能包括展示错误做法以及正确做法&#xff0c;并提供相应代…

98基于matlab的在MIMO通信系统中功率优化算法的仿真

基于matlab的在MIMO通信系统中&#xff0c;功率优化算法的仿真&#xff0c;重点研究了注水功率分配算法。数据可更换自己的&#xff0c;程序已调通&#xff0c;可直接运行。 98matlab功率优化功率分配 (xiaohongshu.com)

2.1 网络编程-多用户通信系统(用户登录、拉取在线用户、无异常退出)

文章目录 一、多用户通信系统1.1 介绍1.2 公共类1.2.1 封装消息类1.2.2 用户类1.2.3 消息类型类1.2.4 控制台读取内容 二、用户登录2.1 客户端2.1.1 菜单界面 QQView2.1.2 验证用户UserClientService2.1.3 线程类 ClientConnectServerThread2.1.4 线程集合类 2.2 服务端2.2.1 服…

C++ - 函数重载和运算符重载

文章目录 1.函数重载2.运算符重载 1.函数重载 函数重载 (Overload)是 C 语言在C语言基础上新增的功能。函数重载能够在程序中使用多个同名的函数。是C多态的特征体现。 通过函数重载来设计一系列的函数&#xff0c;它们完成相同或者相似的功能&#xff0c;但使用不同的参数列表…

el-select的多选multible带全选组件二次封装(vue2,elementUI)

1.需求 Select 选择器 多选需要增加 全选 和 取消全选 功能&#xff0c;前端框架为vue2&#xff0c;UI组件为elementUI。 2. 代码 html部分 <template><el-tooltip effect"dark" :disabled"defaultValue.length < 0" :content"defaul…

Java网络编程,使用UDP实现TCP(一), 基本实现三次握手

简介&#xff1a; 首先我们需要知道TCP传输和UDP传输的区别&#xff0c;UDP相当于只管发送不管对方是否接收到了&#xff0c;而TCP相当于打电话&#xff0c;需要进行3次握手&#xff0c;4次挥手&#xff0c;所以我们就需要在应用层上做一些功能添加&#xff0c;如&#xff1a;…

QT作业1

自由发挥登录窗口的应用场景&#xff0c;实现一个登录窗口界面 头文件代码&#xff1a; #ifndef MYWIDGET_H #define MYWIDGET_H#include <QWidget> #include <QIcon> #include <QLabel> //标签类 #include <QMovie> //动图类 #include <…

Linux操作系统一

一、Linux操作系统通俗认知 假设&#xff0c;我们现在正在做一家外包公司&#xff0c;我们的目标是把这家公司做上市。其中&#xff0c;操作系统就是这家外包公司的老板。我们可以把这家公司的发展阶段分为以下几个阶段&#xff1a; &#xff08;1&#xff09;初创阶段&#x…

查看Linux的Ubuntu的版本

我的Ubuntu版本是 Jammy x86_64&#xff0c;即 Ubuntu 22.04.3 LTS&#xff0c;代号为"Jammy Jellyfish"&#xff0c;架构是 x86_64&#xff08;64位&#xff09;。

微信小程序访问不了阿里云oss图片链接解决办法

以下都有可能导致访问不了oss图片 1.小程序没有加访问白名单 这个需要前端搞,加上白名单,如果是域名加域名白名单,ip的话加ip白名单 2.阿里云设置域名白名单 打开bucket列表,选择对应的bucket 配置这个白名单,配置好以后,开发者工具可以预览了,手机端预览不了,查看自己的路…

【遥感方向EI会议征稿中】第三届遥感与测绘国际学术会议(RSSM 2024)

第三届遥感与测绘国际学术会议&#xff08;RSSM 2024&#xff09; 2024 3rd International Conference on Remote Sensing, Surveying and Mapping 遥感与测绘技术&#xff0c;在全球变化、生态、环境、农、林、气象、人类活动等众多领域发挥了重要作用&#xff0c;受到世界各…

共创共赢|美创科技获江苏移动2023DICT生态合作“产品共创奖”

12月6日&#xff0c;以“5G江山蓝 算网融百业 数智创未来”为主题的中国移动江苏公司2023DICT合作伙伴大会在南京成功举办。来自行业领军企业、科研院所等DICT产业核心力量的百余家单位代表参加本次大会&#xff0c;共话数实融合新趋势&#xff0c;共拓合作发展新空间。 作为生…

1-2算法基础-常用库函数

1.排序 sort(first,last,cmp) first指向要排序范围的第一个元素&#xff0c;从0起 last指向要排序范围的最后一个元素的下一个位置 cmp&#xff08;可选&#xff09;&#xff0c;自定义函数&#xff0c;默认从小到大 评测系统 #include <iostream> #include<algorith…