python每日一练(5)

这篇具有很好参考价值的文章主要介绍了python每日一练(5)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 python每日一练(5),python学习,数据结构与算法,前端,开发语言,python,学习,算法,服务器,数据结构

 🌈write in front🌈
🧸大家好,我是Aileen🧸.希望你看完之后,能对你有所帮助,不足请指正!共同学习交流.
🆔本文由Aileen_0v0🧸 原创 CSDN首发🐒 如需转载还请通知⚠️
📝个人主页:Aileen_0v0🧸—CSDN博客
🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​
📣系列专栏:Aileen_0v0🧸的PYTHON学习系列专栏——CSDN博客
🗼我的格言:"没有罗马,那就自己创造罗马~"

python每日一练(5),python学习,数据结构与算法,前端,开发语言,python,学习,算法,服务器,数据结构

目录

 

(1)完数🦌

 (2)海伦公式求三角形面积🐻

(3)判断某年某天🐣

Python中的datetime模块🍭

Python中的内置函数-map()函数🍰

 lambda表达式🍫

 .days属性在datetime里的使用🍪

(4)斐波那切数列🍥

方法1-递归🍮

 方法2-非递归🍨

索引🍵

我最喜欢的表情包🐒

我的自创表情包🐵

我喜欢它或者使用它的背后故事🐖


python每日一练(5),python学习,数据结构与算法,前端,开发语言,python,学习,算法,服务器,数据结构

(1)完数🦌


一个数如恰好等于除了它以外的因子之和这个数就称为“完数”。
编程序找出1000以内的所有完数,(6是一个"完数",它的因子是1,2,3)。

#  完数
# 一个数如恰好等于除了它以外的因子之和这个数就称为“完数”。
#  编程序找出1000以内的所有完数,(6是一个"完数",它的因子是1,2,3)。

#找到1000以内所有的数

for i in range (1,1000):
    sum = 0
    #内层循环找所有因子
    for j in range (1,i):
        if i % j ==0:
            #将所有符合条件的因子加起来
            sum += j
    if sum == i:
        print(f"{i}是完数")

 (2)海伦公式求三角形面积🐻


         海伦公式是利用三角形的三条边的边长直接求三角形面积的公式

# 海伦公式求三角形面积
# 海伦公式是利用三角形的三条边的边长直接求三角形面积的公式
#p = (a + b + c )/2
#S = (p(p-a)(p-b)(p-c))**0.5
import math
a = int(input("请输入边长1:"))
b = int(input("请输入边长2:"))
c = int(input("请输入边长3:"))
p = (a+b+c)/2
# S = (p*(p-a)*(p-b)*(p-c))**0.5
S = math.sqrt(p*(p-a)*(p-b)*(p-c))
#%.nf %m 表示对数据m的结果保留n位小数
print("三角形的面积是%.2f" %S)

 python每日一练(5),python学习,数据结构与算法,前端,开发语言,python,学习,算法,服务器,数据结构

在Python中,我们可以使用格式化字符串来设置保留小数位数。具体方法是在格式化字符串中使用%来指定小数位数。例如,要将数字3.1415926保留2位小数并打印出来,可以使用以下代码:

num = 3.1415926
print("%.2f" % num)

输出结果为:

3.14

其中,%.2f中的.2表示保留2位小数,而f表示要格式化的数据类型为浮点类型。除了使用%来格式化字符串外,还可以使用format()方法来实现相同的效果,例如:

num = 3.1415926
print("{:.2f}".format(num))

输出结果也为:

3.14

(3)判断某年某天🐣


输入某年某月某日,判断这一天是这一年的第几天。

# (3)判断某年某天
# 输入某年某月某日,判断这一天是这一年的第几天。
import datetime
year,month,day = map(int,input().split())
#创建时间对象
Yuandan = datetime.datetime(year,1,1)
now = datetime.datetime(year,month,day)
#由于 1月31 - 1月1 = 30 而我们1月一共有31天 所以后面还要+1
print((now-Yuandan).days + 1)

Python中的datetime模块🍭

Python中的datetime模块是处理日期和时间的常用模块之一,它提供了许多有用的类和函数,可以方便地进行日期和时间的处理和计算。

下面是一些datetime模块的常见用法:

获取当前日期和时间

import datetime

# 获取当前日期和时间
now = datetime.datetime.now()
print(now)  # 2021-08-20 14:35:42.590500

获取指定日期和时间

import datetime

# 获取指定日期和时间
dt = datetime.datetime(2021, 8, 20, 14, 35, 0)
print(dt)  # 2021-08-20 14:35:00

将字符串转换为日期和时间

import datetime

# 将字符串转换为日期和时间
dt_str = '2021-08-20 14:35:00'
dt = datetime.datetime.strptime(dt_str, '%Y-%m-%d %H:%M:%S')
print(dt)  # 2021-08-20 14:35:00

将日期和时间转换为字符串

import datetime

# 将日期和时间转换为字符串
dt = datetime.datetime(2021, 8, 20, 14, 35, 0)
dt_str = dt.strftime('%Y-%m-%d %H:%M:%S')
print(dt_str)  # 2021-08-20 14:35:00

计算时间差

import datetime

# 计算时间差
dt1 = datetime.datetime(2021, 8, 20, 14, 35, 0)
dt2 = datetime.datetime(2021, 8, 21, 14, 35, 0)
delta = dt2 - dt1
print(delta.days)  # 1
print(delta.seconds)  # 0

更改日期和时间

import datetime

# 更改日期和时间
dt = datetime.datetime(2021, 8, 20, 14, 35, 0)
# 向后推迟1天
dt += datetime.timedelta(days=1)
print(dt)  # 2021-08-21 14:35:00

这些是datetime模块的一些基础用法,它还有很多其他的功能,如对时区的支持,时间格式化等等。通过datetime模块的学习,可以更方便地进行日期和时间的处理。

Python中的内置函数-map()函数🍰

在Python中,map()函数是一个内置函数用于对可迭代对象中的每个元素应用给定函数并返回一个新的可迭代对象,其中包含每个元素的计算结果。

map()函数的语法如下:

map(function, iterable, ...)

其中:

  • function 是要应用的函数。
  • iterable 是要迭代的序列。

map()函数的工作原理function依次作用于iterable的每个元素,并返回一个列表或迭代器,其中包含每个元素被function处理后的结果

下面是几个使用map()函数的例子:

# 将列表中所有元素转换为字符串类型
nums = [1, 2, 3, 4, 5]
nums_str = list(map(str, nums))
print(nums_str)  # ['1', '2', '3', '4', '5']

# 对列表中所有元素求平方
nums = [1, 2, 3, 4, 5]
squares = list(map(lambda x: x**2, nums))
print(squares)  # [1, 4, 9, 16, 25]

# 将两个列表中的元素一一相加
nums1 = [1, 2, 3, 4, 5]
nums2 = [10, 20, 30, 40, 50]
sums = list(map(lambda x, y: x + y, nums1, nums2))
print(sums)  # [11, 22, 33, 44, 55]

在上面的例子中,map()函数和lambda表达式的结合是非常常见的用法,这样可以在不定义函数的情况下实现灵活的操作。

 lambda表达式🍫

lambda表达式是一种用于创建匿名函数的语法。它非常适合那些只需短时间使用的函数,因为这样可以避免创建新的函数名称,简化代码

lambda表达式的语法如下:

lambda arguments : expression

其中,arguments是参数列表,可以为空或者包含一个或多个参数

           expression是一个表达式,通常是由参数组成的表达式,用于计算返回值。

可以使用lambda表达式来定义一个简单的函数,例如:

# 定义一个函数,计算两个参数相加的结果
def add(x, y):
    return x + y

# 使用lambda表达式定义同样的函数
add = lambda x, y: x + y

使用lambda表达式定义的函数可以像普通函数一样使用,例如:

# 调用add函数
result = add(1, 2)
print(result)

# 使用lambda表达式替代add函数
add = lambda x, y: x + y
result = add(1, 2)
print(result)

输出结果为:

3
3

使用lambda表达式可以使代码更加简洁,特别是当你需要一个临时函数时,它会很有用。

 .days属性在datetime里的使用🍪

在Python中,.days是一个日期时间(datetime)对象的属性,用于获取两个日期之间的天数差。

例如,假设有两个日期对象d1和d2,我们可以使用以下代码计算它们之间的天数差:

delta = d2 - d1
print(delta.days)

此代码将输出这两个日期之间的天数差。

除此之外,.days还可以用于处理时间间隔(timedelta)对象。时间间隔对象表示两个日期或时间之间的差异。和日期时间对象一样,时间间隔对象也具有.days属性,可以用于获取时间间隔的总天数。例如:

from datetime import timedelta

delta = timedelta(days=7)
print(delta.days)  # 输出7

(4)斐波那切数列🍥


又称兔子数列,指的是这样一个数列: 1、1、2、3、5、8、13、21、34、.编写程序找出第n个项

这道题有两种方法:

方法1-递归🍮

递归--->不懂或忘记的小伙伴可以跳转进行学习👉🔗:http://t.csdnimg.cn/qGFmw

首先思考:对于第n个元素

递推条件:f(n-1)+f(n-2)

结束条件: n ==1 或 n == 2 --->1

# (4)斐波那切数列
# 又称兔子数列,指的是这样一个数列: 1、1、2、3、5、8、13、21、34、.编写程序找出第n个项
def fib(n):
    if n == 1 or n ==2:
        return 1;
    else:
        return fib( n - 1 ) + fib( n - 2 )
#打印出第六个元素的值
print(fib(6))

注意:

这种递归算法时间复杂度O(2^n),因为每个数都要递归地计算出它的前两个数的和。因此,当 n 值较大时,性能会变得非常低下。

 方法2-非递归🍨

#非递归
n = 6
fib = [1,1]
for i in range (2,n+1):
    fib.append(fib[i-1]+fib[i-2])
#打印整个列表
print(fib)
#利用索引单独打印第六个元素
print(fib[n-1])
索引🍵

在Python中,列表索引指的是列表中每个元素的位置。

列表中的第一个元素的索引为0,第二个元素的索引为1,以此类推。

可以使用方括号[]访问列表中的元素

例如,如果我们有一个名为mylist的列表,我们可以通过以下方式访问列表中的元素:

mylist = [10, 20, 30, 40, 50]
print(mylist[0])    # 输出:10
print(mylist[2])    # 输出:30
print(mylist[-1])   # 输出:50,-1表示最后一个元素的索引

我们还可以使用分片(slicing)来访问列表中的多个元素。例如,如果我们想访问列表中的前三个元素,我们可以使用以下代码:

mylist = [10, 20, 30, 40, 50]
print(mylist[0:3])  # 输出:[10, 20, 30]

此外,我们还可以使用一些其他的内置函数,如len()来获取列表的长度,例如:

mylist = [10, 20, 30, 40, 50]
print(len(mylist))  # 输出:5

我最喜欢的表情包🐒

python每日一练(5),python学习,数据结构与算法,前端,开发语言,python,学习,算法,服务器,数据结构

我的自创表情包🐵

提示:请至少分享5个表情包python每日一练(5),python学习,数据结构与算法,前端,开发语言,python,学习,算法,服务器,数据结构

python每日一练(5),python学习,数据结构与算法,前端,开发语言,python,学习,算法,服务器,数据结构

python每日一练(5),python学习,数据结构与算法,前端,开发语言,python,学习,算法,服务器,数据结构python每日一练(5),python学习,数据结构与算法,前端,开发语言,python,学习,算法,服务器,数据结构python每日一练(5),python学习,数据结构与算法,前端,开发语言,python,学习,算法,服务器,数据结构

我喜欢它或者使用它的背后故事🐖

之所以喜欢那个表情包,因为懂的都懂,厉害的程序员的发量是什么样子的

有点冒犯大佬们,在此表示歉意,但是我还是要向你们学习的🙈

此外我喜欢的animal 是pig 因为我的朋友经常睡得跟死猪一样,这是我叫他起床的方式

自创表情包都是我自己通过写博客想出来的,为了调侃一下,也是为了帮助大家更好的记忆知识点啦~

python每日一练(5),python学习,数据结构与算法,前端,开发语言,python,学习,算法,服务器,数据结构

python每日一练(5),python学习,数据结构与算法,前端,开发语言,python,学习,算法,服务器,数据结构文章来源地址https://www.toymoban.com/news/detail-713800.html

到了这里,关于python每日一练(5)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【每日算法 && 数据结构(C++)】—— 02 | 数组的并交集(解题思路、流程图、代码片段)

    When you feel like giving up, remember why you started. 当你想放弃时,请记住为什么你开始 给你两个数组,请分别求出两个数组的交集和并集 在数学中,我们可以通过交集和并集来描述两个集合之间的关系。 交集(Intersection) :指的是两个集合中共有的元素组成的集合。可以用符号

    2024年02月11日
    浏览(50)
  • 【算法每日一练]-结构优化(保姆级教程 篇4 树状数组,线段树,分块模板篇)

    目录 分块 分块算法步骤: 树状数组 树状数组步骤: 线段树点更新 点更新步骤: 线段树区间更新 区间更新步骤: 不同于倍增和前缀和与差分序列。 前缀和处理不更新的区间和 差分处理离线的区间更新问题 倍增处理离线的区间最值问题 分块,树状数组,线段树: 分块处

    2024年02月04日
    浏览(43)
  • 【每日算法 && 数据结构(C++)】—— 13 | 求最长自增子序列(解题思路、流程图、代码片段)

    Today’s quote is: \\\"Actions speak louder than words. 今天的一句话是:“行动胜于言辞 求最长递增子序列 最长递增子序列是指在给定序列中,找到一个最长的子序列,使得子序列中的元素按照递增的顺序排列。 例如,对于序列 [1, 3, 2, 5, 4, 7, 6],其中的最长递增子序列可以是 [1, 2, 4,

    2024年02月12日
    浏览(39)
  • 【每日算法 && 数据结构(C++)】—— 01 | 平方值去重统计(解题思路STL法,双指针法、流程图、代码片段)

    “Success is not final, failure is not fatal: It is the courage to continue that counts.” - Winston Churchill (成功并非终点,失败并非致命:真正重要的是继续前行的勇气 - 温斯顿·丘吉尔) 给你一个整数数组,数组中的数可以是正数、负数、零,请实现一个函数,返回这个数组中所有数的平方

    2024年02月12日
    浏览(51)
  • 二叉树(下)+Leetcode每日一题——“数据结构与算法”“对称二叉树”“另一棵树的子树”“二叉树的前中后序遍历”

    各位CSDN的uu们你们好呀,今天小雅兰的内容仍然是二叉树和Leetcode每日一题,下面,就让我们进入二叉树的世界吧!!! 这个题目需要重新定义一个函数,函数参数需要有左子树和右子树,题目所给定的函数无法解决问题。 每个不为空的结点,都可以认为是一棵子树的根 

    2024年02月16日
    浏览(43)
  • 二叉树(中)+Leetcode每日一题——“数据结构与算法”“剑指Offer55-I. 二叉树的深度”“100.相同的树”“965.单值二叉树”

    各位CSDN的uu们你们好呀,今天继续数据结构与算法专栏中的二叉树,下面,让我们进入二叉树的世界吧!!! 二叉树(上)——“数据结构与算法”_认真学习的小雅兰.的博客-CSDN博客 二叉树链式结构的实现 二叉树链式结构的实现 求二叉树的高度 但是这种写法有很大的问题

    2024年02月17日
    浏览(38)
  • 【Python数据结构与算法】线性结构小结

    🌈个人主页: Aileen_0v0 🔥系列专栏:PYTHON学习系列专栏 💫\\\"没有罗马,那就自己创造罗马~\\\"   目录 线性数据结构Linear DS 1.栈Stack 栈的两种实现 1.左为栈顶,时间复杂度为O(n) 2.右为栈顶,时间复杂度O(1)   2.队列Queue 3.双端队列Deque 4.列表List 5.链表 a.无序链表的实现 b.有序链表的实

    2024年02月04日
    浏览(40)
  • Python数据结构与算法-数据结构(列表、栈、队列、链表)

    数据结构是指相互之间存在这一种或者多种关系的数据元素的集合和该集合中元素之间的关系组成。 简单来说,数据结构就是设计数据以何种方式组织并存储在计算机中。 比如:列表、集合与字典等都是一种数据结构。 N.Wirth:“程序=数据结构+算法” 数据结构按照其 逻辑结

    2024年02月08日
    浏览(53)
  • python数据结构和算法

    参考 python图解算法 选择/快速排序 哈希表 广度优先搜索算法 迪杰斯特拉算法 贪婪算法 动态规划 K-邻近算法 算法计时 time模块,与算法复杂度 O() [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EIwk2Zdi-1691788469064)(https://facert.gitbooks.io/python-data-str

    2024年02月13日
    浏览(49)
  • Python数据结构与算法

    栈、队列、双端队列和列表都是有序的数据集合, 其元素的顺序取决于添加顺序或移除顺序。一旦某个元素被添加进来,它与前后元素的相对位置将保持不变。这样的数据集合经常被称为线性数据结构。 栈的添加操作和移除操作总发生在同一端。栈中的元素离底端越近,代

    2024年02月02日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包