【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;将其逻辑注入到模…

PyTorch的特点

PyTorch是一个开源的深度学习框架&#xff0c;由Facebook AI Research&#xff08;FAIR&#xff09;团队开发&#xff0c;自2017年发布以来&#xff0c;凭借其出色的灵活性、易用性和强大的功能&#xff0c;在深度学习和机器学习领域得到了广泛的应用和认可。以下是对PyTorch框…

工业机器视觉中的常见需求

目录 学习目的 熟系 Halcon的原因 专业性强: 高性能: 丰富的功能库 学习 OpenCV 的原因 开源与免费: 灵活性与可扩展性: 广泛的应用: 学习资源丰富: 总结 学习背景 工业视觉检测中常见分类 一、定位 二、识别 三、检测 四、测量 学习目的 熟系 Halcon的原因…

BCT 预估block change tracking file的大小

Block Change Tracking Inside Out (Doc ID 1528510.1) 详细 APPLIES TO: Oracle Database - Enterprise Edition - Version 10.1.0.2 and later Oracle Database Cloud Schema Service - Version N/A and later Oracle Database Exadata Express Cloud Service - Version N/…

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_…

ssh 免密登陆服务器故障

在服务器上新建账户后&#xff0c;希望通过ssh免密或者通过证书登录系统&#xff0c;以提高服务器安全性。 基本流程都已经做完&#xff0c;生成密钥&#xff0c;将公钥内容复制到账户home目录中的.ssh目录下的authorized_keys 文件。同时修改sshd_config文件&#xff0c;禁止通…

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法律…

音频评价指标

第一个是主观评价指标&#xff0c;后面几个是客观评价指标 1.MOS (Mean Opinion Score, 平均意见得分) 评价方法 MOS 是一种主观评估方法&#xff0c;通过让一组听众对合成的语音质量进行评分来衡量语音的自然度或质量。评分通常在 1 到 5 的范围内&#xff0c;1 表示“非常…

工业智造加速升级|2027年前,200万套工业软件+80万台操作系统大换血!

据悉&#xff0c;9月20日&#xff0c;工业和信息化部办公厅印发《工业重点行业领域设备更新和技术改造指南的通知》。 其中指出&#xff0c;到 2027 年&#xff0c;在重点行业和领域&#xff0c;基础软件、工业操作系统和工业软件实现升级改造&#xff0c;完成约 200 万套工业软…

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、什么时候使用装…

css文本修饰

一、文本修饰 属性描述使用color设置字体颜色color: #ff1237text-align设置文本水平对齐text-align: center 水平居中text-align: right 右对齐text-align: justify两端对齐vertical-align设置本文垂直对齐vertical-align: top 按当前行最高元素顶部对齐vertical-align: middl…