Python经典练习题(一)

文章目录

  • 🍀第一题
  • 🍀第二题
  • 🍀第三题
  • 🍀第四题
  • 🍀第五题

🍀第一题

有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?

这里我们使用两种方法进行求解

解法一:
循环套循环

count = 0
for i in range(1, 5):for j in range(1, 5):for k in range(1, 5):if(i!=j) and (i!=k) and (j!=k):count += 1print('{0}-{1}-{2}'.format(i, j, k))
print("总共有", count, "个满足条件的三位数")

解法二:
使用Python内置的库

from itertools import permutationsdigits = [1, 2, 3, 4]
count = 0  # 计数器,用于统计满足条件的三位数的数量# 生成所有由1、2、3、4组成的三位数的排列组合
permuted_numbers = permutations(digits, 3)for perm in permuted_numbers:count += 1print(perm[0], perm[1], perm[2])print("总共有", count, "个满足条件的三位数")

🍀第二题

一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

听起来,这题像一个数学题哈,或许在你家孩子的奥数班会看得到
具体讲解如下:


我们有两个等式:

x + 100 = m^2
x + 100 + 168 = n^2

首先,将第二个等式中的 x + 100 替换为 m^2,得到:

m^2 + 168 = n^2

现在,我们想找到两个整数 n 和 m,它们的乘积等于 168,同时它们之间的差为多少。这个问题等价于解一个二次方程:

(n + m)(n - m) = 168

这里,(n + m) 和 (n - m) 分别表示两个整数的和与差。我们希望找到这两个整数的和与差,其中差为 2(n - m = 2)。

为什么差是 2 呢?因为我们要找到两个完全平方数之间的差是 168,而 168 = 14 * 12。所以,如果我们让 (n + m) = 14,(n - m) = 12,那么乘积就是 168。这就是为什么 n - m = 2。

因此,当 (n + m) = 14,(n - m) = 12 时,我们可以解出 n 和 m 的值:

(n + m) = 14
(n - m) = 12

解这个方程组,得到:

n = 13
m = 1

这样,我们就找到了 n 和 m 的值,而 x = m^2 - 100 = 1^2 - 100 = -99。所以,满足条件的整数 x 是 -99。

for m in range(1, 169):if 168 % m == 0:n = 168 // mif n > m and (n - m) % 2 == 0:x = (n ** 2) - 100print("符合条件的整数 x 是:", x)

运行结果如下
在这里插入图片描述


🍀第三题

判断某年某月某日是一年的第几天

本题在编写之前,我们要明确哪个月份多少天,以及这个年份是不是闰年,所以这里我们创建了两个函数,一个用于判断是否是闰年,一个进行天数的计算

这里的天数计算采用列表切片的形式

def is_leap_year(year):"""判断是否是闰年的函数"""return (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)def day_of_year(year, month, day):"""计算某年某月某日是这一年的第几天的函数"""days_in_month = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]if is_leap_year(year):days_in_month[2] = 29  # 闰年2月有29天if month < 1 or month > 12 or day < 1 or day > days_in_month[month]:return "输入日期无效"day_count = sum(days_in_month[:month]) + dayreturn day_count# 输入年月日
year = int(input("请输入年份:"))
month = int(input("请输入月份:"))
day = int(input("请输入日期:"))result = day_of_year(year, month, day)
if type(result) == int:print(f"{year}{month}{day}日是这一年的第{result}天")
else:print(result)

运行结果如下
在这里插入图片描述


🍀第四题

将一个列表的数据复制到另一个列表中

这里我们使用两个解法

方法一:使用切片操作(Slicing)

切片操作是一种简单且直接的方法,用于复制一个列表到另一个列表。它创建了原始列表的一个浅拷贝,这意味着两个列表之间的元素是独立的,但如果列表中包含其他可变对象(如列表中的列表),则这些可变对象在两个列表中仍然是共享的。

_list = [1, 2, 3, 4, 5]
copied_list = _list[:] 
_list[0] = 10  # 独立
print(_list)  
print(copied_list)   

运行结果如下
在这里插入图片描述
方法二:使用list()构造函数

另一种方法是使用内置的 list() 构造函数来创建一个新列表,这也会创建原始列表的一个浅拷贝。

_list = [1, 2, 3, 4, 5]
copied_list = list(_list)  
_list[0] = 10
print(_list) 
print(copied_list)  

运行结果如下
在这里插入图片描述

🍀第五题

输出9*9乘法表

for i in range(1, 10):for j in range(1, i + 1):print(f"{j} x {i} = {i * j}", end="\t")print()  

运行结果如下
在这里插入图片描述

这题耳熟能详的了,就不过多解释了

请添加图片描述

挑战与创造都是很痛苦的,但是很充实。

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

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

相关文章

【开关稳压器】LMR16030SDDA、LMR38010FDDAR,汽车类LMR43610MSC5RPERQ1低 EMI 同步降压稳压器

一、LMR16030SDDA 开关稳压器 IC REG BUCK ADJ 3A 8SOPWR LMR16030 是一款带有集成型高侧 MOSFET 的 60V、3A SIMPLE SWITCHER 降压稳压器。该器件具有4.3V 至 60V 的宽输入范围&#xff0c;适用于从工业到汽车各类应用中非稳压电源的电源调节。该稳压器在睡眠模式下的静态电流…

leetcode:70. 爬楼梯

一、题目 函数原型&#xff1a;int climbStairs(int n) 二、思路 此题运用递归思想。当只有1个台阶&#xff0c;那么只有1种方法爬到楼顶——跨一个台阶&#xff1b;当有2个台阶时&#xff0c;有2种方法爬到楼顶——跨一个台阶跨两次或直接跨两个台阶。当有3个台阶或更多台阶时…

vue之 h() 函数

前言 Vue推荐在绝大数情况下使用模板来创建HTML&#xff0c;然后一些特殊的场景&#xff0c;你真的需要JavaScript的完全编程的能力&#xff0c;这个时候你可以使用渲染函数 &#xff0c;它比模板更接近编译器&#xff1b; h()函数是什么 Vue在生成真实的DOM之前&#xff0c…

Java LinkedList类详解

目录 什么是LinkedList LinkedList的使用 LinkedList的构造 LinkedList的其他常用方法的介绍 LinkedList的遍历 ArrayList和LinkedList的区别 什么是LinkedList LinkList的底层是双向链表结构&#xff0c;由于链表没有将元素存储在连续的空间中&#xff0c;元素存储在单独…

[C++随笔录] vector模拟实现

vector模拟实现 基本结构天选之子构造拷贝构造析构operator 空间reserveresizesize && capacity 增insertpush_back 删erasepop_back 查 && 改swapoperator[] 源码 基本结构 // 可以是不同类型, 用类模板 template <class T> class vector { public:// 源…

画一个时钟(html+css+js)

这是一个很简约的时钟。。。。。。。 效果&#xff1a; 代码&#xff1a; <template><div class"demo-box"><div class"clock"><ul class"mark"><liv-for"(rotate, index) in rotatedAngles":key"i…

VBA技术资料MF59:从二维变体数组中删除一行数据

【分享成果&#xff0c;随喜正能量】小小的善业&#xff0c;能赢来大的利益&#xff0c;小小的恶业&#xff0c;同样也能招致严重的后果。这正如古语所云&#xff1a;“莫以善小而不为&#xff0c;莫以恶小而为之。。 我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效…

想学嵌入式开发,薪资怎么样?

想学嵌入式开发&#xff0c;薪资怎么样&#xff1f; 对于嵌入式工程师来说呢&#xff0c;它重点学习内容就是首先一定要打好基础&#xff0c;如果从编程语言角度来讲&#xff0c;那么可以在语言上选C或者C&#xff0c;你可以选择其中任何一门语言作为你的入门。 最近很多小伙伴…

Unity之NetCode多人网络游戏联机对战教程(1)

文章目录 1.什么是NetCode2.安装NGO 1.什么是NetCode 官网链接&#xff1a;https://docs-multiplayer.unity3d.com/netcode/current/about/ Netcode for GameObjects&#xff08;NGO&#xff09;是专为Unity构建的高级网络库。它能够在网络会话中将GameObject和世界数据同时发…

计算机组成原理——基础入门总结(二)

上一期的路径&#xff1a;基础入门总结&#xff08;一&#xff09; 目录 一.输入输出系统和IO控制方式 二.存储系统的基本概念 三.cache的基本概念和原理 四.CPU的功能和基本结构 五.总线概述 一.输入输出系统和IO控制方式 IO设备又可以被统一称为外部设备~ IO接口&…

每日一题~修剪二叉树

原题链接&#xff1a;669. 修剪二叉搜索树 - 力扣&#xff08;LeetCode&#xff09; 题目描述&#xff1a; 思路分析&#xff1a; 由题可知&#xff0c;我们要将原来的二叉搜索树调整为值在 low~high 之间的新二叉搜索树&#xff0c;接下来我们分析一下针对不同的节点的处理方…

Hbase工作原理

Hbase&#xff1a;HBase 底层原理详解&#xff08;深度好文&#xff0c;建议收藏&#xff09; - 腾讯云开发者社区-腾讯云 Hbase架构图 同一个列族如果有多个store&#xff0c;那么这些store在不同的region Hbase写流程&#xff08;读比写慢&#xff09; MemStore Flush Hbas…

微信朋友圈的高级玩法

面对好友的生日&#xff0c;你还在傻傻的守点发朋友圈&#xff0c;节日庆祝你还在傻傻的守点官宣吗&#xff1f;还有你关注的那个他&#xff08;她&#xff09;&#xff0c;他&#xff08;她&#xff09;发的朋友圈你想成为第一个点赞评论的人吗&#xff1f;想和他进行更多的交…

如何自动获取短信验证码?

点击下方关注我&#xff0c;然后右上角点击...“设为星标”&#xff0c;就能第一时间收到更新推送啦~~~ 这篇文章通过解决实际项目开发中遇到的如何自动获取短信验证码的问题&#xff0c;进一步讲述在Java中如何使用正则。 Java中如何使用正则 Java中正则相关类位于java.util.r…

python pytesseract 中文文字批量识别

用pytesseract 来批量把图片转成文字 1、安装好 pytesseract 包 2、下载安装OCR https://download.csdn.net/download/m0_37622302/88348824https://download.csdn.net/download/m0_37622302/88348824 Index of /tesseracthttps://digi.bib.uni-mannheim.de/tesseract/ 我是…

DevOps与CI/CD常见面试问题汇总

01 您能告诉我们DevOps和Agile(敏捷)之间的根本区别吗&#xff1f; 答&#xff1a;尽管DevOps与敏捷方法&#xff08;这是最流行的SDLC[Software Development Life Cycle]方法之一&#xff09;有一些相似之处&#xff0c;但两者在软件开发方面都是根本不同的方法。以下是两者之…

SpringCloud Gateway--网关服务基本介绍和基本原理

&#x1f600;前言 本篇博文是关于SpringCloud Gateway的基本介绍&#xff0c;希望你能够喜欢 &#x1f3e0;个人主页&#xff1a;晨犀主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是晨犀&#xff0c;希望我的文章可以帮助到大家&#xff0c;您的满意是我的动力…

【lesson8】操作系统的理解和类比

文章目录 操作系统是什么&#xff1f;为什么要有操作系统&#xff1f;怎么做&#xff1f;学校的例子&#xff08;理解管理&#xff09;银行的例子&#xff08;类比操作系统&#xff09; 操作系统是什么&#xff1f; 操作系统是一款软件&#xff0c;是为了进行软硬件资源管理的…

400电话怎么办理(申请开通)

申请开通400电话是一项相对简单的过程&#xff0c;只需按照以下步骤进行操作即可。 第一步&#xff0c;选择400电话服务提供商。在市场上有很多公司提供400电话服务&#xff0c;您可以根据自己的需求和预算选择适合的服务商。可以通过搜索引擎、咨询朋友或者查看相关论坛等方式…

Python经典练习题(三)

文章目录 &#x1f340;第一题&#x1f340;第二题&#x1f340;第三题 &#x1f340;第一题 输入一行字符&#xff0c;分别统计出其中英文字母、空格、数字和其它字符的个数。 本题需要我们掌握的知识点在于&#xff0c;判断字符串&#xff0c;是数字还是字母还是啥的&#…