笔记:Python选择结构 编程题

文章目录

  • 前言
  • 一、选择结构是什么?
  • 二、编程题
  • 总结


前言

在编程中,选择结构是一种重要的控制流程,它允许我们根据条件的满足与否选择性地执行不同的代码块。在 Python 中,常见的选择结构有 ifelifelse 语句。

if 语句允许我们检查一个条件,如果该条件为真,则执行特定的代码块。当我们需要检查多个条件时,可以使用 elif(else if)语句,它允许我们在前一个条件不满足时检查另一个条件。最后,我们可以使用 else 语句定义当所有条件都不满足时要执行的代码块。

在这个编程题中,我们将通过练习来加深对选择结构的理解和应用。通过完成这些练习,你将掌握如何使用选择结构解决各种问题,并提高你的编程技能。

一、选择结构是什么?

选择结构是计算机编程中的一种控制结构,用于根据条件的真假来决定程序中的执行路径。它允许程序根据不同的条件选择性地执行不同的代码块。在选择结构中,通常会使用条件语句来判断条件的真假,根据条件的结果执行相应的代码块。

常见的选择结构有以下几种:

  1. if 语句:用于检查单个条件是否为真,如果条件为真,则执行相应的代码块。

    if condition:# 执行条件为真时的代码块
    
  2. if-else 语句:除了执行条件为真时的代码块外,还可以执行条件为假时的备选代码块。

    if condition:# 执行条件为真时的代码块
    else:# 执行条件为假时的代码块
    
  3. if-elif-else 语句:用于检查多个条件,从上到下逐一判断,直到遇到第一个为真的条件,执行相应的代码块。如果所有条件都不满足,则执行 else 代码块(可选)。

    if condition1:# 执行条件1为真时的代码块
    elif condition2:# 执行条件2为真时的代码块
    else:# 执行条件1和条件2都不满足时的代码块
    

选择结构在编程中具有重要的作用,它使程序能够根据不同情况做出不同的响应,增加了程序的灵活性和逻辑性。

二、编程题

编程题:Python选择结构

题目:编写一个程序,根据用户输入的成绩,输出对应的等级。成绩范围如下:

  • 90 及以上:优秀
  • 80 - 89:良好
  • 70 - 79:中等
  • 60 - 69:及格
  • 60 以下:不及格

编写一个函数 grade_level(score),接受一个成绩参数 score,返回对应的等级。

示例:

print(grade_level(95))  # 输出:优秀
print(grade_level(75))  # 输出:中等
print(grade_level(55))  # 输出:不及格

答案分析:

def grade_level(score):if score >= 90:return "优秀"elif score >= 80:return "良好"elif score >= 70:return "中等"elif score >= 60:return "及格"else:return "不及格"print(grade_level(95))  # 输出:优秀
print(grade_level(75))  # 输出:中等
print(grade_level(55))  # 输出:不及格

在这个答案中,我们定义了一个名为 grade_level 的函数,它接受一个参数 score,代表成绩。然后使用 if-elif-else 结构来判断成绩所在的区间,根据不同的条件返回相应的等级。


题目:编写一个程序,判断一个整数是奇数还是偶数。如果是偶数,则输出 “偶数”,如果是奇数,则输出 “奇数”。

编写一个函数 check_even_odd(number),接受一个整数参数 number,根据该整数是奇数还是偶数返回相应的字符串。

示例:

print(check_even_odd(4))   # 输出:偶数
print(check_even_odd(7))   # 输出:奇数
print(check_even_odd(0))   # 输出:偶数

答案分析:

def check_even_odd(number):if number % 2 == 0:return "偶数"else:return "奇数"print(check_even_odd(4))   # 输出:偶数
print(check_even_odd(7))   # 输出:奇数
print(check_even_odd(0))   # 输出:偶数

在这个答案中,我们定义了一个名为 check_even_odd 的函数,它接受一个参数 number,代表要判断的整数。然后使用 if-else 结构来判断整数除以 2 的余数是否为 0,如果余数为 0,则整数是偶数,否则是奇数。根据判断结果返回相应的字符串。


编程题:Python选择结构

题目:编写一个程序,接受用户输入的年份,判断该年份是否为闰年。如果是闰年,则输出 “是闰年”,否则输出 “不是闰年”。闰年的判断规则为:

  1. 若年份能被4整除但不能被100整除,则为闰年;
  2. 若年份能被400整除,则也为闰年。

编写一个函数 is_leap_year(year),接受一个整数参数 year,判断该年份是否为闰年,并返回相应的字符串。

示例:

print(is_leap_year(2020))  # 输出:是闰年
print(is_leap_year(2021))  # 输出:不是闰年
print(is_leap_year(1900))  # 输出:不是闰年
print(is_leap_year(2000))  # 输出:是闰年

答案分析:

def is_leap_year(year):if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):return "是闰年"else:return "不是闰年"print(is_leap_year(2020))  # 输出:是闰年
print(is_leap_year(2021))  # 输出:不是闰年
print(is_leap_year(1900))  # 输出:不是闰年
print(is_leap_year(2000))  # 输出:是闰年

在这个答案中,我们定义了一个名为 is_leap_year 的函数,它接受一个参数 year,代表要判断的年份。然后使用 if-else 结构来判断年份是否满足闰年的条件,根据判断结果返回相应的字符串。


编程题:Python选择结构

题目:编写一个程序,接受用户输入的三个数字,然后输出其中最大的数字。

编写一个函数 find_max(num1, num2, num3),接受三个数字参数 num1num2num3,并返回其中最大的数字。

示例:

print(find_max(10, 5, 8))  # 输出:10
print(find_max(3, 9, 6))   # 输出:9
print(find_max(2, 2, 2))   # 输出:2

答案分析:

def find_max(num1, num2, num3):if num1 >= num2 and num1 >= num3:return num1elif num2 >= num1 and num2 >= num3:return num2else:return num3print(find_max(10, 5, 8))  # 输出:10
print(find_max(3, 9, 6))   # 输出:9
print(find_max(2, 2, 2))   # 输出:2

在这个答案中,我们定义了一个名为 find_max 的函数,它接受三个参数 num1num2num3,代表要比较的数字。然后使用多个 if-elif-else 结构来比较这三个数字的大小,根据比较结果返回其中最大的数字。


总结

在本文中,我们讨论了选择结构在 Python 编程中的应用,并通过编程题目加深了对选择结构的理解和应用。在 Python 中,常见的选择结构有 ifelifelse 语句,它们允许根据条件的满足与否选择性地执行不同的代码块。

首先,我们介绍了选择结构的基本概念,包括 ifif-elseif-elif-else 结构的用法,以及它们在编程中的作用。然后,通过一系列编程题目,我们实践了选择结构的应用,包括根据成绩划分等级、判断奇偶数、判断闰年以及找到最大数等。

通过完成这些编程题目,我们加深了对选择结构的理解,掌握了如何使用选择结构解决不同类型的问题,提高了编程技能和逻辑思维能力。选择结构是编程中的重要概念之一,熟练掌握它可以帮助我们编写更加灵活和高效的代码。

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

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

相关文章

odoo 云部署

1、从镜像中安装:postgres docker run --name db -e POSTGRES_PASSWORD529500 -p 5432:5432 -d postgres:latest 2、从镜像中安装:unlimitedbiking/odoo16-enterprise docker run -v /download/addons:/mnt/extra-addons -p 8069:8069 --name odoo16 -…

如何在Windows服务做性能测试(CPU、磁盘、内存)

目录 前言1. 基本知识2. 参数说明 前言 由于需要做一些接口测试,测试是否有真的优化 1. 基本知识 该基本知识主要用来用到Performance Monitor,以下着重介绍下这方面的知识 性能监视器(Performance Monitor):Windo…

C++ 核心编程 - 内存分区模型

文章目录 1.1 程序运行前1.2 程序运行后1.3 new 操作符 C 程序在执行时,将内存大致划分为 4个区域: 代码区:存放函数体的二进制代码,由操作系统进行管理;全局区:存放全局变量和静态变量以及常量&#xff1…

MT2041 三角形的个数

思路:找规律,推公式 4等分: 头朝上的三角形: 边长为1:1234s1; 边长为2:123s2; 边长为3:12s3; 边长为4:1s4; 即si12...n-i1(n-i2)*(n-i…

基于高斯混合模型的视频背景提取和人员跟踪算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MATLAB2013B 3.部分核心程序 .............................................................................. %我们这里…

根据当年节假日和非工作时间计算请假时间-获取每个月的节假日,计算每个月的工作日时间进度,节假日每年更新

根据需求请假时间要排除法定节假日和非工作时间 1.获取当年的节假日 节假日是每年更新的,没有固定接口,需要手动录入 个人根据官方的节假日整理了当年的所有节假日,可以根据个人需求进行修改 // 获取每个月的节假日,如果当月没…

Java | 冒泡排序算法实现

大家可以关注一下专栏,方便大家需要的时候直接查找,专栏将持续更新~ 题目描述 编写一个Java程序,实现冒泡排序算法。程序需要能够接收一个整型数组作为输入,并输出排序后的数组。 冒泡排序是一种简单的排序算法,它…

Laravel 6 - 第十五章 验证器

​ 文章目录 Laravel 6 - 第一章 简介 Laravel 6 - 第二章 项目搭建 Laravel 6 - 第三章 文件夹结构 Laravel 6 - 第四章 生命周期 Laravel 6 - 第五章 控制反转和依赖注入 Laravel 6 - 第六章 服务容器 Laravel 6 - 第七章 服务提供者 Laravel 6 - 第八章 门面 Laravel 6 - …

面试集中营—场景面试题A

一、线上几百万的消息积压如何处理? 1、第一步我们要首先确定是什么导致的消息积压,基本上三个原因 消费者处理消息速度慢; 生产者生产消息速度太快; 消息处理流程异常导致大量重试; 线上消息积压第一步先看日志&am…

vue 实现 word 下载的方式

实现思路 下载任何文件的思路相同,只需配置相应的文件类型即可。 (1)使用 axios 从服务器获取文件的二进制数据; (2)在 axios 中设置 responseType 为 blob,指定处理 二进制数据; …

【刷题】搜索——DFS:DFS求排列和组合

排列 A n m A_n^m Anm​ 输入&#xff1a; 4 2 输出&#xff1a; 1 2 1 3 1 4 2 1 2 3 2 4 3 1 3 2 3 4 4 1 4 2 4 3 #include <iostream> #include <algorithm> #include <vector> using namespace std;int n, m; int a[100]; bool st[100]; void dfs(int …

记录好用的python包

记录好用的python包 PipxCentos 安装pipx确保 Pip 被安装更新 Pip安装 Pipx添加 Pipx 到 PATH临时添加到 PATH:永久添加到 PATH: 验证 Pipx 安装 Poetry安装准备工作创建虚拟环境激活虚拟环境安装包追踪 & 更新包常用配置pycharm 远程连接poetry创建的虚拟环境参考链接 cen…

Java基础入门day36

day36 js dom控制css变化 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title>…

【刷题】代码随想录算法训练营第二十二天|235、二叉搜索树的最近公共祖先,701、二叉搜索树中的插入操作,450、删除二叉搜索树中的节点

目录 235、二叉搜索树的最近公共祖先701、二叉搜索树中的插入操作450、删除 235、二叉搜索树的最近公共祖先 讲解&#xff1a; 回忆一下递归的三部曲&#xff0c;以这题为例。 1、参数&#xff1a; 当前节点和两个节点。 Treenode* cur, Treenode*p, Treenode*q2、递归终止条…

prometheus配置监控Java应用服务

程序员的公众号&#xff1a;源1024&#xff0c;获取更多资料&#xff0c;无加密无套路&#xff01; 最近整理了一份大厂面试资料《史上最全大厂面试题》&#xff0c;Springboot、微服务、算法、数据结构、Zookeeper、Mybatis、Dubbo、linux、Kafka、Elasticsearch、数据库等等 …

JAVA----Thread

Thread 这里写目录标题 Thread线程Thread 第 1 种写法此外, t.start()的作用 Thread 第 2 种写法Thread 第 3 种写法Thread 第 4 种写法Thread 第 5 种写法 线程 本身是操作系统提供的, 操作系统提供了 API 以让我们操作线程, JVM 就对操作系统 API 进行了封装. 线程这里, 则提…

PVE虚拟机隐藏状态栏虚拟设备

虚拟机启动后&#xff0c;状态栏会出现一些虚拟设备&#xff0c;点击弹出会导致虚拟机无法使用。 解决方案&#xff1a; 1、在桌面新建disable_virtio_removale.bat文件&#xff0c;内容如下&#xff1a; ECHO OFF FOR /f %%A IN (reg query "HKLM\SYSTEM\CurrentContro…

【注释和反射】类加载的过程

继上一篇博客【注释和反射】获取class类实例的方法-CSDN博客 目录 三、类加载的过程 例子 三、类加载的过程 在Java虚拟机&#xff08;JVM&#xff09;中&#xff0c;类加载是一个将类的字节码文件从文件系统或其他来源加载到JVM的内存中&#xff0c;并将其转换为类或接口的…

JSON基础

JSON JavaScript Object Notation(js对象标记法) JSON定义 {"name":"Tom","age":20,"gender":"male" }JSON格式中的键必须使用双引号括上 因为其语法格式简单,层次结构鲜明,多作为数据载体在网络中进行数据传输 JSON定…

【语音识别】搭建本地的语音转文字系统:FunASR

参考自&#xff1a; 参考配置&#xff1a;FunASR/runtime/docs/SDK_advanced_guide_offline_zh.md at main alibaba-damo-academy/FunASR (github.com)参考配置&#xff1a;FunASR/runtime/quick_start_zh.md at 861147c7308b91068ffa02724fdf74ee623a909e alibaba-damo-aca…