算法修炼之练气篇(Python版)——练气一层初期

news2024/11/28 18:51:56

博主:命运之光

🦄专栏:算法修炼之练气篇(C\C++版)

🍓专栏:算法修炼之筑基篇(C\C++版)

博主的其他文章:点击进入博主的主页​​​​​​

前言:Python是一门很重要的语言,不管如何我们都要去了解和使用它,此专栏目的为了打牢小白蒟蒻们的Python基础,适合第一天刚开始学习Python的蒟蒻们来学习练习观看。一共三十篇分为练气一层到十层(初期,中期,后期)三十篇完后进入筑基期的修炼。筑基期可学习更深层次的人工智能方面的(机器学习和深入学习),人工智能离不开Python所以大家想走人工智能,深入学习,机器学习,图像处理,数据挖掘的蒟蒻们,基础打起来,习题连起来。跟着命运之光冲就完事了,每周更新两篇,敬请期待。

目录

 ✨回文数(力扣题)

✨python中 s == s[::-1]是什么意思?

✨[编程入门]三个数最大值

✨python中map()函数的使用

✨解释map(int , input().split())

✨判断能否被3、5、7整除

✨结语


 ✨回文数(力扣题)

class Solution(object):
    def isPalindrome(self, x):
        """
        :type x: int
        :rtype: bool
        """
        s = str(x)
        return s == s[::-1]

✨python中 s == s[::-1]是什么意思?

题目 1002:

✨[编程入门]三个数最大值

题目描述

编写一个程序,输入a、b、c三个值,输出其中最大值。

输入格式

一行数组,分别为a b c

输出格式

a b c其中最大的数

样例输入

10 20 30

样例输出

30

a,b,c=map(int , input().split())
#表示的是一次能够输入多个值并用空格将其分开
sum=[a,b,c]
sum.sort()
print(sum[2])

✨python中map()函数的使用

在Python中,map()函数是一个内置函数,用于将一个函数应用于一个或多个可迭代对象的每个元素,然后返回一个新的可迭代对象,其中包含应用函数后的结果。

map()函数的基本语法如下:

map(function, iterable, ...)

其中,function是要应用的函数,iterable是一个或多个可迭代对象,可以是列表、元组、集合等。

下面是一个示例,演示如何使用map()函数将一个列表中的每个元素求平方:

def square(x):
    return x ** 2

numbers = [1, 2, 3, 4, 5]
squared_numbers = list(map(square, numbers))

print(squared_numbers)

输出:

[1, 4, 9, 16, 25]

在上面的示例中,我们定义了一个名为square()的函数,用于计算给定数字的平方。然后,我们创建了一个名为numbers的列表,其中包含一些数字。接下来,我们使用map()函数将square()函数应用于numbers列表的每个元素,并将结果存储在squared_numbers列表中。

需要注意的是,map()函数返回的是一个迭代器对象,而不是一个列表。因此,我们使用list()函数将迭代器转换为列表,以便查看结果。

除了一个可迭代对象之外,map()函数还可以接受多个可迭代对象作为参数。在这种情况下,传递给函数的参数将是对应位置上的元素。例如:

def add(x, y):
    return x + y

numbers1 = [1, 2, 3]
numbers2 = [10, 20, 30]
result = list(map(add, numbers1, numbers2))

print(result)

输出:

[11, 22, 33]

在上面的示例中,我们定义了一个名为add()的函数,用于将两个数字相加。然后,我们创建了两个列表numbers1numbers2,并使用map()函数将add()函数应用于对应位置上的元素。结果是一个包含相加结果的列表。同样,我们使用list()函数将迭代器转换为列表。

使用map()函数可以简化对可迭代对象的操作,特别是当我们需要对多个可迭代对象进行相同的操作时。

✨解释map(int , input().split())

map(int, input().split())这个表达式的作用是将用户输入的一行字符串按空格分隔,并将分隔后的每个元素转换为整数。

解析这个表达式的步骤如下:

  1. input()函数用于从用户处获取输入,返回的是一个字符串。
  2. split()方法将获取到的字符串按空格进行分割,返回一个由分割后的字符串组成的列表。
  3. map()函数将接受两个参数:第一个参数是要应用的函数,这里是int函数,用于将字符串转换为整数;第二个参数是可迭代对象,这里是通过split()方法得到的列表。
  4. map()函数返回一个迭代器对象,其中包含应用int函数后的结果。
  5. 如果需要,可以将迭代器转换为列表或使用循环逐个访问其中的元素。

下面是一个示例,演示了如何使用这个表达式:

numbers = list(map(int, input().split()))

print(numbers)

假设用户输入了一行数字:"1 2 3 4 5",程序将把它们转换为整数并存储在名为numbers的列表中。然后,列表中的内容将被打印出来。

输出:

[1, 2, 3, 4, 5]

这种使用方式可以方便地将用户输入的一行数字字符串转换为整数列表,适用于需要处理多个数字输入的场景。

题目 2786:

✨判断能否被3、5、7整除

题目描述

给定一个整数,判断它能否被3,5,7整除,并输出以下信息:
1、能同时被3,5,7整除(直接输出3 5 7,每个数中间一个空格);
2、只能被其中两个数整除(输出两个数,小的在前,大的在后。例如:3 5或者 3 7或者5 7,中间用空格分隔);
3、只能被其中一个数整除(输出这个除数);
4、不能被任何数整除,输出小写字符‘n’,不包括单引号。

输入格式

输入一行,包括一个整数。

输出格式

输出一行,按照描述要求给出整数被3,5,7整除的情况。

样例输入

105

样例输出

3 5 7

a = int(input())

divisible_by_3 = a % 3 == 0
divisible_by_5 = a % 5 == 0
divisible_by_7 = a % 7 == 0

if divisible_by_3 and divisible_by_5 and divisible_by_7:
    print("3 5 7")
elif divisible_by_3 and divisible_by_5:
    print("3 5")
elif divisible_by_3 and divisible_by_7:
    print("3 7")
elif divisible_by_5 and divisible_by_7:
    print("5 7")
elif divisible_by_3:
    print("3")
elif divisible_by_5:
    print("5")
elif divisible_by_7:
    print("7")
else:
    print("n")

当输入 a = 105 并执行代码时,以下是代码的执行过程:

  1. a = 105:将整数 105 赋值给变量 a
  2. divisible_by_3 = a % 3 == 0:计算 a 对 3 取余是否等于 0,并将结果赋值给变量 divisible_by_3。这里 divisible_by_3 的值为 True,因为 105 可以被 3 整除。
  3. divisible_by_5 = a % 5 == 0:计算 a 对 5 取余是否等于 0,并将结果赋值给变量 divisible_by_5。这里 divisible_by_5 的值为 True,因为 105 可以被 5 整除。
  4. divisible_by_7 = a % 7 == 0:计算 a 对 7 取余是否等于 0,并将结果赋值给变量 divisible_by_7。这里 divisible_by_7 的值为 True,因为 105 可以被 7 整除。
  5. if divisible_by_3 and divisible_by_5 and divisible_by_7::判断条件 divisible_by_3 and divisible_by_5 and divisible_by_7 是否为真。由于所有条件都为真,因为 divisible_by_3divisible_by_5divisible_by_7 的值都为 True,所以条件判断结果为真。
  6. print("3 5 7"):由于条件判断为真,将输出 "3 5 7",表示整数 105 可以同时被 3、5 和 7 整除。

因此,根据输入的值 105,代码的执行结果为 "3 5 7"。

✨结语

再接再厉,继续加油!

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

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

相关文章

ChineseBERT使用指北

文章目录 ChineseBert 模型介绍开源代码使用方法未完待续 ChineseBert 模型介绍 论文地址:https://arxiv.org/pdf/2106.16038.pdf 代码地址:https://github.com/ShannonAI/ChineseBert bert是语义模型,因此无法解决形近字、音近字的问题。 …

C语言:写一个函数返回参数二进制中 1 的个数(三种思路)

题目: 链接:二进制中1的个数__牛客网 来源:牛客网 输入一个整数 n ,输出该数32位二进制表示中1的个数。其中负数用补码表示。 示例: 输入 10 输出 2 说明 十进制中10的32位二进制表示为0000 0000 0000 0…

从零开始 Spring Boot 40:定时任务

从零开始 Spring Boot 40:定时任务 图源:简书 (jianshu.com) 定时任务是一种很常见的需求,比如我们可能需要应用定期去执行一些清理工作,再比如可能需要定期检查一些外部服务的可用性等。 fixedDelay 要在 Spring 中开启定时任…

深度学习笔记之Transformer(一)注意力机制基本介绍

深度学习笔记之Transformer——注意力机制基本介绍 引言回顾: Seq2seq \text{Seq2seq} Seq2seq模型中的注意力机制注意力机制的简单描述注意力机制的机器学习范例: Nadaraya-Watson \text{Nadaraya-Watson} Nadaraya-Watson核回归 Nadaraya-Watson \text…

编程必备:JAVA多线程详解

目录 前言 1.入门多线程 1.1. 线程、进程、多线程、线程池 1.2.并发、串行、并行 1.3. 线程的实现方式 1.3.1. 继承 Thread 类 1.3.2. 实现 Runnable 接口 1.3.3. 使用 Callable 和 Future 1.3.4. 使用线程池 1.4.线程的状态 1.5. 线程常用方法 1.5.1 sleep() 1.4…

验证码识别系统Python,基于CNN卷积神经网络算法

一、介绍 验证码识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Django框架,开发网页端操作平台&#xff0…

基于Java网上花店系统设计实现(源码+lw+部署文档+讲解等)

博主介绍: ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精…

Prompt 范式产业实践分享!基于飞桨 UIE-X 和 Intel OpenVINO 实现跨模态文档信息抽取

近期 Prompt 范式备受关注,实际上,其思想在产业界已经有了一些成功的应用案例。中科院软件所和百度共同提出了大一统诸多任务的通用信息抽取技术 UIE(Universal Information Extraction)。截至目前,UIE 系列模型已发布…

【JavaEE】网络原理——传输层协议:UDP和TCP

目录 1、简单了解应用层协议 2、传输层UDP协议 3、传输层TCP协议 3.1、TCP报文介绍 3.2、TCP实现可靠传输的核心机制 3.2.1、确认应答 3.2.2、超时重传 3.3、连接管理 (三次挥手,四次握手) 3.3.1、建立连接(三次握手&a…

Java-API简析_java.lang.Enum<E extends Enum<E>>类(基于 Latest JDK)(浅析源码)

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://blog.csdn.net/m0_69908381/article/details/131212897 出自【进步*于辰的博客】 其实我的【Java-API】专栏内的博文对大家来说意义是不大的。…

接口自动化测试丨如何实现多套环境的自动化测试?

在敏捷迭代的项目中,通常会将后台服务部署到多套测试环境。那么在进行接口自动化测试时,则需要将服务器的域名进行配置。使用一套接口测试脚本,通过切换域名地址配置,实现多套环境的自动化测试。 实战练习 分别准备两套测试环境…

Redis的单线程模型和标准Reactor线程模型的关系

文章目录 Redis到底是不是单线程?标准Reactor线程模型单reactor单线程单reactor多线程多reactor多线程 redis6.0 之前的单线程模型redis6.0 之后的单线程模型为什么redis最初选择的单线程网络模型?为什么redis6.0 io读写要用多线程? Redis 6.…

索尼RSV视频修复方法论视频文件修复时样本文件的三同

索尼RSV类的文件修复案例有很多,程序操作也很简单没什么可说的,这次这个索尼ILCE-7SM3的案例就是为了让大家更好的认识视频修复中我称之为“三同“的重要性,想要恢复的效果好必须要把准备工作做到位。 故障文件:45.1G RSV文件 故障现象: 索…

软件渗透测试是什么?软件产品哪种情况下需要做渗透测试?

随着互联网的普及,软件的开发方越来越多,但是随之而来的也是信息安全方面的问题。在软件开发过程中,安全问题一定要被重视,因为漏洞和安全问题一旦被黑客利用,会给公司和用户带来巨大的损失。为了避免这种情况的发生&a…

语音工牌在运营商智慧装维场景,有何应用价值?

客户精细化运营时代,如何做好客户服务体验,提升品牌美誉度和好感度,是众多企业开始思考的问题。 在运营商行业,上门装维和营业厅服务场景是企业与客户直接互动最多的地方。这个过程的服务质量直接影响到客户成交率、客户投诉率和…

软件测试金融银行项目如何测?从业务到测试实战,超细总结整理...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 金融行业的业务特…

chatgpt赋能python:Python怎么打备注?让你的代码更加清晰易懂

Python怎么打备注?让你的代码更加清晰易懂 Python是一种流行的编程语言,可以用来构建不同类型的应用程序,从网站到数据分析。无论您是初学者还是经验丰富的开发人员,写清晰,易于理解的代码都是非常重要的,…

Linux之ACL权限

目录 Linux之ACL权限 场景 设定ACL权限 ACL权限管理命令 参数及作用 给用户和用户组添加ACL权限 案例 创建 目录 /project 的所有者和所属组其他人权限设定为 770 创建旁听用户pt,并赋予ACL权限rx 查看目录/project的ACL权限 验证pt 用户对于 /project 目录没有写权…

el-element-admin实现双路由菜单

需求: 1、输入用户名登录企业级菜单 2、点击企业级菜单中的首页,右边显示项目列表,点击某一行跳转到项目级菜单 注意: 企业级菜单和项目级菜单,后端分别给接口 具体实施: 1、点击面包靴首页的时候设置标记…

第14届蓝桥杯国赛真题剖析-2023年5月28日Scratch编程初中级组

[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第149讲。 第14届蓝桥杯Scratch国赛真题,这是2023年5月28日上午举办的全国总决赛,比赛仍然采取…