【Python】练习:控制语句(二)第4关

第4关:控制结构综合实训

  • 第一题
  • 第二题(※)
  • 第三题(※)
  • 第四题(※)
  • 第五题(※)
  • 第六题(※)

第一题

在这里插入图片描述

#第一题def rankHurricane(velocity):#请在下面编写代码# ********** Begin ********** #if velocity<74:rank=Noneelif 74 <= velocity <= 95:rank = 1elif velocity <= 110:rank = 2elif velocity <= 130:rank = 3elif velocity <= 154:rank = 4else:rank = 5# ********** End ********** ##请不要修改下面的代码return rank

第二题(※)

在这里插入图片描述

解题思路
(1)在八位数字里,从右边开始,取最后一位后,加至偶数位和中,然后去掉最后一位,此时为奇数位,取其并乘2
(2)把奇数位乘以2的结果拆解相加:结果是两位数,因此先%10得到个位数,后//10去掉个位数,循环结束条件为even==0,即十位数已经加完,只剩下十位数//10,得到0,不再进行相加
(3)去掉该奇数位,如此循环。循环结束条件依然是num为0

#第二题def validCreditCard(num):#请在下面编写代码# ********** Begin ********** #valid=Falseif 10000000<num<100000000:oddSum=0even=0evenSum=0while not(num==0):oddSum+=(num%10)num=num//10even=(num%10)*2while not(even==0):evenSum+=(even%10)even=even//10num=num//10final=oddSum+evenSumif final%10==0:valid=True# ********** End ********** #    #请不要修改下面的代码return valid

第三题(※)

在这里插入图片描述

解题思路
(1)在九位数字中,先把公式中的权重和写出来:从最后一位起,逐个乘以对应系数
(2)使用字符串相连接,不足九位,前面补0
(3)将公式总和%11,余数为1,则补X;余数为0,则刚好是11的倍数,补0;其他情况,算加上数字几后可以成为11的倍数,后补上该数字

#第三题def ISBN(n):# 请在下面编写代码# ********** Begin ********** #total=0num=nfor i in range(2,11):digit=num%10total+=i*digitnum//=10strn=str(n)if len(strn)<9:strn='0'*(9-len(strn))+strntrueISBN=''if total%11==1:trueISBN=strn+'X'elif total%11==0:trueISBN=strn+'0'else:trueISBN=strn+str(11-(total%11))    # ********** End ********** #    # 请不要修改下面的代码return (trueISBN)

第四题(※)

在这里插入图片描述

解题思路
(1)本题涉及三个函数的编写
(2)借助计算y年m月d日是星期几这个函数(记):
在这里插入图片描述
(3)判断闰年的函数:四年一闰,百年不闰,四百年又闰
(4)将本月1号是星期几赋给date,并判断此月有多少天
(5)打印y年m月,打印星期,打印一号前的空格,而后打印1号到28/29/30/31号,一星期一星期打印。count = (count + 1) % 7 更新count为下一天的星期几,如果count为0,表示已经到了星期六,打印换行符print()以开始新的一周

#第四题def day(y, m, d):#计算y年m月d日是星期几# 请在下面编写代码# ********** Begin ********** ## 调整年份,如果月份在3月之前,年份减1y0 = y - (14 - m) // 12# 计算世纪数和世纪内的年份,用于计算星期几x = y0 + y0 // 4 - y0 // 100 + y0 // 400# 调整月份,如果月份在3月之前,将其转换为前一年的13月或14月m0 = m + 12 * ((14 - m) // 12) - 2# 使用蔡勒公式计算星期几,结果是一个06的数字,0代表星期六,1代表星期日,以此类推d0 = (d + x + (31 * m0) // 12) % 7# ********** End ********** #    # 请不要修改下面的代码return d0def isLeapYear(year): #判断year年是否闰年# 请在下面编写代码# ********** Begin ********** #isLeapYear=(year%4==0)isLeapYear=isLeapYear and (year%100!=0)isLeapYear=isLeapYear or (year%400==0)# ********** End ********** #    # 请不要修改下面的代码return isLeapYeardef calendar(y, m): #打印y年m月日历print('       {}年{}月'.format(y,m))print('Su\tM\tTu\tW\tTh\tF\tSa')# 请在下面编写代码# ********** Begin ********** #date=day(y,m,1)days=0if m in [1,3,5,7,8,10,12]:days=31elif m in [4,6,9,11]:days=30else:if isLeapYear(y):days=29else:days=28count=datefor i in range(date):print('\t',end='')for d in range(1,days+1):print(str(d)+'\t',end="")count=(count+1)%7if count==0:print()print()# ********** End ********** ## 请不要修改下面的代码

测试结果
在这里插入图片描述

第五题(※)

在这里插入图片描述

解题思路
(1)利用四个嵌套循环找到abcd
(2)从1到n开始找a,然后从a到n开始找b,然后等号右边,从a+1到n开始找c,从c到n开始找d
(3)这个过程中,a的立方、a的立方+b的立方不能超过n,c的立方不能超过a的立方+b的立方、c的立方+d的立方不能超过a的立方+b的立方

#第五题def ramanujan(n):results = []#请在下面编写代码# ********** Begin ********** #for a in range(1,n+1):a3=a*a*aif a3>n:breakfor b in range(a,n+1):b3=b*b*bif a3+b3>n:breakfor c in range(a+1,n+1):c3=c*c*cif c3>a3+b3:breakfor d in range(c,n+1):d3=d*d*dif c3+d3>a3+b3:breakif c3+d3==a3+b3:result=str(a3+b3)+' = '+str(a)+'^3 + '+str(b)+'^3 = '+str(c)+'^3 + '+str(d)+'^3'results.append(result)# ********** End ********** #    # 请不要修改下面的代码return results

测试结果
在这里插入图片描述

第六题(※)

在这里插入图片描述

解题思路:
(1)0~9:借助字典转换
(2)10 ~ 19、 20 ~ 99:用字典写出10 ~ 19的转换以及0、2 ~ 9的转换
(3)百位:分为0 ~ 99和100以后的处理

#第六题def unit_to_word(u): #将09的数字转换成英文,并返回转换后的英文# 请在下面编写代码# ********** Begin ********** ## 定义一个转换表,将数字映射到对应的英文单词convert_table = {0: "zero",1: "one",2: "two",3: "three",4: "four",5: "five",6: "six",7: "seven",8: "eight",9: "nine",}# 返回对应的英文单词return convert_table[u]# ********** End ********** ## 请不要修改下面的代码def tens_to_word(t): #利用unit_to_word,将1019、以及2099的十位部分数字转换成英文,并返回转换后的英文# 请在下面编写代码# ********** Begin ********** #convert_table={0:"",10:"ten",11:"eleven",12:"twelve",13:"thirteen",14:"fourteen",15:"fifteen",16:"sixteen",17:"seventeen",18:"eighteen",19:"nineteen",2:"twenty",3:"thirty",4:"forty",5:"fifty",6:"sixty",7:"seventy",8:"eighty",9:"ninety",}# 如果数字在1019之间,直接返回对应的英文单词if 9<t<20:return convert_table[t]else:tens=convert_table[t//10]+" "+unit_to_word(t%10)return tens.lstrip()# ********** End ********** ## 请不要修改下面的代码def hundreds_to_word(h): #利用unit_to_word、tens_to_word进行转换,并返回转换后结果的函数# 请在下面编写代码# ********** Begin ********** ## 如果数字大于99,处理百位if h>99:word=unit_to_word(h//100)+" hundred"tens=h%100if tens==0:return wordelse:return word+" and "+tens_to_word(tens)# 如果数字小于或等于99,直接调用tens_to_word函数else:return tens_to_word(h)# ********** End ********** #    # 请不要修改下面的代码

测试结果
在这里插入图片描述

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

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

相关文章

记录|C#的资源路径设置的资料整理

目录 前言一、在这里插入图片描述 https://bbs.csdn.net/topics/360001606 二、三、添加到资源文件中四、获得图片的三种路径方法五、给资源文件添加文件夹更新时间 前言 参考文章&#xff1a; 原本以为C# winform中进行图片等文件的路径的读取是直接可以按照资源文件中显示的来…

【ArcGIS微课1000例】0121:面状数据共享边的修改方法

文章目录 一、共享边概述二、快速的修改办法1. 整形共享边2. 修改边3. 概化边缘一、共享边概述 面状数据共享边指的是两个或多个面状数据(如多边形)共同拥有的边界。在地理信息系统(GIS)、三维建模、大数据分析等领域,面状数据共享边是描述面状空间数据拓扑关系的重要组成…

CORS漏洞及其防御措施:保护Web应用免受攻击

1. 背景- 什么是CORS&#xff1f; 在当今互联网时代&#xff0c;Web 应用程序的架构日益复杂。一个后端服务可能对应一个前端&#xff0c;也可能与多个前端进行交互。跨站资源共享&#xff08;CORS&#xff09;机制在这种复杂的架构中起着关键作用&#xff0c;但如果配置不当&…

Django学习实战篇五(适合略有基础的新手小白学习)(从0开发项目)

前言&#xff1a; 本章中&#xff0c;我们开始引入前端框架Bootstrap 来美化界面。在前面的章节中&#xff0c;我们通过编写后端代码来处理数据。数据之于网站&#xff0c;就相当于灵魂之于人类。而网站的前端就相当于人的形体外貌。其中HTML是骨架&#xff0c;而CSS是皮肤&…

Thymeleaf模版引擎

Thymeleaf是面向Web和独立环境的现代服务器端Java模版引擎&#xff0c;能够处理HTML、XML、JavaScript、CSS甚至纯文本。Thymeleaf旨在提供一个优雅的、高度可维护的创建模版的方式。为了实现这一目标&#xff0c;Thymeleaf建立在自然模版的概念上&#xff0c;将其逻辑注入到模…

2024/9/20 使用QT实现扫雷游戏

有三种难度初级6x6 中级10x10 高级16x16 完成游戏 游戏失败后&#xff0c;无法再次完成游戏&#xff0c;只能重新开始一局 对Qpushbutton进行重写 mybutton.h #ifndef MYBUTTON_H #define MYBUTTON_H #include <QObject> #include <QWidget> #include <QPus…

Kafka 3.0.0集群部署教程

1、集群规划 主机名 ip地址 node.id process.roles kafka1 192.168.0.29 1 broker,controller Kafka2 192.168.0.30 2 broker,controller Kafka3 192.168.0.31 3 broker,controller 将kafka包上传以上节点/app目录下 mkdir /app 解压kafka包 tar -zxvf kafka_…

Spring Boot框架在心理教育辅导系统中的应用案例

目 录 摘 要 I ABSTRACT II 1绪 论 1 1.1研究背景 1 1.2设计原则 1 1.3论文的组织结构 2 2 相关技术简介 3 2.1Java技术 3 2.2B/S结构 3 2.3MYSQL数据库 4 2.4Springboot框架 4 3 系统分析 6 3.1可行性分析 6 3.1.1技术可行性 6 3.1.2操作可行性 6 3.1.3经济可行性 6 3.1.4法律…

Css_动态渐变圆圈旋转效果

1、效果图 2、实现代码 <template><div class"box"><div class"line"></div><div class"lineNew"></div></div> </template><script lang"ts" setup></script><styl…

【图像匹配】基于Harris算法的图像匹配,matlab实现

博主简介&#xff1a;matlab图像代码项目合作&#xff08;扣扣&#xff1a;3249726188&#xff09; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 本次案例是基于基于Harris算法的图像匹配&#xff0c;用matlab实现。 一、案例背景和算法介绍 …

el-table表格的展开行,初始化的时候展开哪一行+设置点击行可展开功能

效果&#xff1a; 表格展开行官网使用&#xff1a; 通过设置 type"expand" 和 Scoped slot 可以开启展开行功能&#xff0c;el-table-column 的模板会被渲染成为展开行的内容&#xff0c;展开行可访问的属性与使用自定义列模板时的 Scoped slot 相同。 但是这种方法…

MySQL篇(存储引擎 - InnoDB存储引擎架构)(持续更新迭代)

目录 一、逻辑存储结构 1. 表空间 2. 段 3. 区 4. 页 5. 行 二、架构 1. 简介 2. 内存结构&#xff08;四部分&#xff09; Buffer Pool Change Buffer Adaptive Hash Index Log Buffer 3. 磁盘结构&#xff08;七部分&#xff09; System Tablespace File-Per-…

Unity 设计模式 之 结构型模式 -【装饰者模式】【外观模式】【享元模式】【代理模式】

Unity 设计模式 之 结构型模式 -【装饰者模式】【外观模式】【享元模式】【代理模式】 目录 Unity 设计模式 之 结构型模式 -【装饰者模式】【外观模式】【享元模式】【代理模式】 一、简单介绍 二、装饰者模式&#xff08;Decorator Pattern&#xff09; 1、什么时候使用装…

vagrant+virtualbox+ubuntu22.04无法上网问题

一、过程 vagrantfile配置私有网络 config.vm.network "private_network", ip: "192.168.56.10"启动虚拟机&#xff0c;可以ping通百度的实际IP&#xff0c;ping不通域名修改/etc/netplan/50-vagrant.yaml&#xff0c;配置DNS network:renderer: Networ…

Linux-mysql5.7-mysql8.0安装包下载及安装教程,二合一

一、安装包下载 1、手动下载 MySQL :: Download MySQL Community Server 2、wegt下载 wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz 登录自己的liunx &#xff0c;复制上面的命令下载。 二、手动安装 1、上传压缩包到…

BSN六周年:迈向下一代互联网

当前&#xff0c;分布式技术作为现代计算机科学和信息技术的重要组成部分&#xff0c;在云计算、区块链等技术的推动下&#xff0c;正以多样化的形式蓬勃发展。 ​而区块链作为一种特殊的分布式系统&#xff0c;近年来也在各个领域得到了广泛关注。通过在区块链上运行智能合约…

JSBSim中的运动方程模型(更新ing........

JSBSim中的运动方程模型 飞行动力学模型的核心目标是模拟并跟踪飞行器在地球&#xff08;或其他行星&#xff09;表面上方的飞行轨迹&#xff0c;这需要考虑作用于飞行器的力和力矩。我们已经了解了飞行器的特性&#xff0c;比如它的物理参数和气动特性&#xff0c;以及行星的…

【网络】高级IO——LT和ET

在上一篇的学习中&#xff0c;我们已经简单的使用了epoll的三个接口&#xff0c;但是仅仅了解那些东西是完全不够的&#xff01;&#xff01;接下来我们将更深入的学习epoll 1.epoll的两种工作模式——LT和ET 下面来举一个例子帮助大家理解ET和LT模式的区别&#xff08;送快递…

Elasticsearch集群的运维与管理

【1】安装启动ES 集群 &#xff08;1.1&#xff09;集群架构规划 OS  ES versionIpnode.nameRolecluster.namees basedirCentOS Linux release 7.8.2003 (Core)elasticsearch-7.14.1 192.168.175.132:9200 cluster&#xff1a;192.168.175.132:9301 node_1 node.mastertrue …

【Python报错已解决】To update, run: python.exe -m pip install --upgrade pip

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 专栏介绍 在软件开发和日常使用中&#xff0c;BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…