3. python练习题3-自由落体

3. python练习题3-自由落体

【目录】

文章目录

  • 3. python练习题3-自由落体
    • 1. 目标任务
    • 2. 解题思路
    • 3. 知识回顾-`%`占位符格式化处理
      • 3.1 概述
      • 3.2 占位符的多种用法
      • 3.3 格式化操作符辅助指令
      • 3.4 将整数和浮点数格式化为字符串
    • 4. 解题思路
      • 4.1 球第1次下落
      • 4.2 球第2次下落
    • 5. 最终代码
    • 6. 其他解题方法
      • 6.1 使用while循环方式1
      • 6.2 使用while循环方式2
      • 6.3 函数递归调用方式1
      • 6.4 使用函数递归调用方式2
      • 6.5 使用列表推导式结合幂函数、求和函数实现

【正文】

1. 目标任务

一个球从100米高度自由落下,每次落地后反跳回原高度的一半再落下。
求它在第10次落地时,共经过多少米?
求第10次反弹多高?

2. 解题思路

Python一切皆对象,我们做题时首先要确定题目所需的对象。
对象1=初始高度=100
对象2=每次下落高度
对象3=每次反弹高度=每次下落高度的一半
对象4=落地次数=10
对象5=单次自由落下经过的路程=每次下落的高度+每次反弹的高度
对象6=每次自由落下经过的累计总路程=前面累计总路程+本次自由落下经过的路程
对象7=球第10次反弹的高度

 次数    下落的高度    反弹的高度    单次总路程               累计总路程
第1次:    100                50               100+50=150            150
第2次:    50                  25               50+25=75                150+75=225
第3次:    25                 12.5             25+12.5=37.5           225+37.5=262.5
第4次:    12.5               6.25            12.5+6.25=18.75       262.5+18.75=281.25

球下落十次,一个动作要重复10次。
重复的动作,还需要控制次数。
第一反应就要想到for循环range搭配。
每次反弹的高度都是下落高度的一半,这个除法就能实现。
除法在Python中用/符号表示。

3. 知识回顾-%占位符格式化处理

3.1 概述

在Python中,我们通常用%来占位,也就是生活中占座的意思。

因此将%称为占位符。

它的作用是先在要输出的内容中占一个位置,最后再告诉程序那个被占了的位置要输出什么内容。

语法通常如下:

要输出的内容 % 需要格式化的变量或数值

在这里插入图片描述

3.2 占位符的多种用法

%占位符有很多种用法:

  • %s:获取传入对象的str方法的返回值,并将其格式化到指定位置。

  • %o:将整数转换成八进制表示,并将其格式化到指定位置。

  • %x:将整数转换成十六进制表示,并将其格式化到指定位置。

  • %d:将整数、浮点数转换成十进制表示,并将其格式化到指定位置。

  • %f:将整数、浮点数转换成浮点数表示,并将其格式化到指定位置(默认保留小数点后6位)。

除了上面这些,还有其他的语法。

3.3 格式化操作符辅助指令

以下内容初学者了解即可。

在这里插入图片描述

3.4 将整数和浮点数格式化为字符串

以本题为例,要打印如下语句:

球第1次落下,共经过150.00米。

球第1次反弹的高度为50.00米。

其中次数为整数,距离为保留小数点后两位的浮点数。

【代码示例】

# 变量i表示次数,数据类型为整数
i=1# total_distance表示总路程
total_distance=150.000000# bounce_height表示反弹的高度
bounce_height=50.000000print("球第%d次落下,共经过%.2f米。" % (i, total_distance))print("球第%d次反弹的高度为%.2f米。" %(i, bounce_height))

【终端输出】

球第1次落下,共经过150.00米。
球第1次反弹的高度为50.00米。

【代码解析】

print("球第%d次落下,共经过%.2f米。" % (i, total_distance))
  • “球第%d次落下,共经过%.2f米。” 是一个字符串,其中 %d 和 %f 是占位符,用于表示后面要填入的变量。
  • (i, total_distance) 是一个元组,包含了变量i total_distance 的值,分别对应占位符 %d%f
  • %d 表示要填入一个整数值,对应变量 i 的值。
  • %.2f 表示要填入一个浮点数值,并保留两位小数,对应变量 total_distance 的值。

4. 解题思路

球要下落10次,编写出的代码不方便我们检查。
且很多同学对10次其实没什么概念。
初学者编写代码建议从球第1次落下开始编写代码。

4.1 球第1次下落

【代码示例】

# 初始高度100米
height = 100# 初始化总共经过的累计路程为0
total_distance = 0# 反弹高度为初始高度的一半
bounce_height = height/2# 本次总路程=下落的高度+反弹的高度
pre_total_distance = height+bounce_height# 累计总路程=前面累计总路程+本次总路程
total_distance=total_distance+pre_total_distance# 输出球自由落下经过的距离,保留两位小数   
print("球从100米高度自由落下,共经过%.2f米。" % total_distance)
# 输出第1次反弹的高度,保留两位小数。
print("球第1次反弹的高度为%.2f米。" % bounce_height)

【终端输出】

球从100米高度自由落下,共经过150.00米。
球第1次反弹的高度为50.00米。

【解析】

第1次落下的代码我们主要完成了代码中变量的初始化赋值以及输出框架的搭建。

4.2 球第2次下落

球第2次落下的反弹的高度,是第1次反弹高度的一半。
第1次反弹的高度是计算得来的。
这里我们需要一个循环迭代的过程,这里先以for循环为例。

【代码示例】

# 初始高度100米
height = 100# bounce_height表示的是每次反弹高度
# 需要为它设置一个初始值
# 因为每次反弹高度同时又是下次的下落高度
# 小球的初始高度为100米,
# 因此为bounce_height设置初始值时,
# 可以想象为小球上次反弹了100米
bounce_height = height# 初始化总共经过的距离为0
total_distance = 0# range(1,3)表示只循环2次
# range取值含前不含后
for i in range(1,3):# 每次下落高度为上次反弹高度per_height = bounce_height# 每次反弹高度为每次下落高度的一半bounce_height = per_height/2# 每次总路程=每次下落的高度+每次反弹的高度per_total_distance=per_height+bounce_height# 总路程=前面累计总路程+当次总路程total_distance = total_distance+per_total_distance    # 输出球自由落下的总经过距离,保留两位小数   print("球第%d次落下,共经过%.2f米。" % (i, total_distance))# 输出当次反弹的高度,保留两位小数。print("球第%d次反弹的高度为%.2f米。" %(i, bounce_height))

【终端输出】

球第1次落下,共经过150.00米。
球第1次反弹的高度为50.00米。
球第2次落下,共经过225.00米。
球第2次反弹的高度为25.00米。

【解析】

上面的代码先定义并初始化3个变量:

初始下落高度:height 初始化为100。

每次反弹高度:bounce_height 初始化为初始下落高度。

每次下落小球经过的累计总距离:total_distance 初始化为0。

然后设置一个for循环,循环体描述一次下落的过程,过程中求取两个变量的值。

每次下落小球经过的累计总距离total_distance,以及每次反弹高度bounce_height。

这里可以替换range(1,3)中的值来检验代码是否准确。

5. 最终代码

【代码示例】

# 初始高度100米
height = 100# bounce_height表示的是每次反弹高度,
# 需要为它设置一个初始值
# 因为每次反弹高度同时又是下次的下落高度
# 现在小球的初始高度为100米,
# 因此为bounce_height设置初始值时,
# 可以想象为小球上次反弹了100米
bounce_height = height# 初始化总共经过的距离为0
total_distance = 0for i in range(1,11):# 每次下落高度为上次反弹高度per_height = bounce_height# 每次反弹高度为每次下落高度的一半bounce_height = per_height/2# 每次总路程=每次下落的高度+每次反弹的高度per_total_distance=per_height+bounce_height# 总路程=前面累计总路程+当次总路程total_distance = total_distance+per_total_distance    # 注意!题目求的是在第10次落地时,共经过多少米
# 由于每次总路程都是小球每次下落高度加上每次反弹高度
# 所以最后还需要把总路程减去第10次反弹高度
total_distance=total_distance-bounce_height# 输出球在第10次落地时,共经过多少米,保留两位小数   
print("球第%d次落地时,共经过%.2f米。" % (i, total_distance))
# 输出当次反弹的高度,保留两位小数。
print("球第%d次反弹的高度为%.2f米。" %(i, bounce_height))

【终端输出】

球第10次落地时,共经过299.61米。
球第10次反弹的高度为0.10米。

【解析】

最终代码只要在前面代码的基础上,把次数i值在range函数参数中设置循环范围为10次,即range(1,11)即可。
由于题目第一个求的是小球第10次落地时共经过的累计距离,也就是说不包括第10次弹起的距离。
因此在循环结束后,还需要把total_distance减去当前的bounce_height的值,才是题目所求的答案。

6. 其他解题方法

同一个问题,通常都会有灵活多变的不同解题思路和编程方法。
这方面的积极思考和探索,对我们拓展思路、开阔视野,以及对编程语言灵活熟练的掌握尤为重要!

这里列出其他几种不同的解题方法和代码,供大家参考。

6.1 使用while循环方式1

【代码示例】

# 初始高度100米
height = 100# bounce_height表示的是每次反弹高度,
# 需要为它设置一个初始值
# 因为每次反弹高度同时又是下次的下落高度
# 现在小球的初始高度为100米,
# 因此为bounce_height设置初始值时,
# 可以想象为小球上次反弹了100米
bounce_height = height# 初始化总共经过的距离为0
total_distance = 0# 初始化次数为0
i=0# 直接在while语句中设置循环条件
while i<10:# 次数加1i+=1# 每次下落高度为上次反弹高度per_height = bounce_height# 每次反弹高度为每次下落高度的一半bounce_height = per_height/2# 每次总路程=每次下落的高度+每次反弹的高度per_total_distance=per_height+bounce_height# 总路程=前面累计总路程+当次总路程total_distance = total_distance+per_total_distance    # 注意!题目求的是在第10次落地时,共经过多少米
# 由于每次总路程都是小球每次下落高度加上每次反弹高度
# 所以最后还需要把总路程减去第10次反弹高度
total_distance=total_distance-bounce_height# 输出球在第10次落地时,共经过多少米,保留两位小数   
print("球第%d次落地时,共经过%.2f米。" % (i, total_distance))
# 输出当次反弹的高度,保留两位小数。
print("球第%d次反弹的高度为%.2f米。" %(i, bounce_height))

【终端输出】

球第10次落地时,共经过299.61米。
球第10次反弹的高度为0.10米。

【解析】

不同于for循环直接在range( )函数中设置i值的循环范围,这里的while循环首先在循环外部定义并设定i的初始值为0。

然后在设置循环的while语句中给出满足循环的条件:i<10,当满足该条件时都会执行循环体中的代码。

注意,这种设置循环条件的方式能使循环自然终止,而不需要在循环体中使用break语句终止循环。

循环体中每轮循环都会把次数i值自加1,当i增加到10时,已不满足条件i<10,则不再执行循环体中的代码而终止循环。

特别要注意i值的初始值、循环条件的具体设定、i值自加语句在循环体中的位置这三者需要相互密切配合。

在这里,由于i值初始值为0,进入循环体后要首先把i值自加,因此循环条件则必须设置为i<10,而不能设置为i<11。

6.2 使用while循环方式2

【代码示例】

# 初始高度100米
height = 100# bounce_height表是每次反弹高度,
# 需要为它设置一个初始值
# 因为每次反弹高度同时又是下次的下落高度
# 现在小球的初始高度为100米,
# 因此为bounce_height设置初始值时,
# 可以想象为小球上次反弹了100米
bounce_height = height# 初始化总共经过的距离为0
total_distance = 0# 初始化次数为0
i=0# 不在while语句中设置循环条件
while True:# 进入循环体后,在最开始设置循环终止条件if i==10:# 这种方式需要使用break语句来终止循环break# 每次下落高度为上次反弹高度per_height = bounce_height# 每次反弹高度为每次下落高度的一半bounce_height = per_height/2# 每次总路程=每次下落的高度+每次反弹的高度per_total_distance=per_height+bounce_height# 总路程=前面累计总路程+当次总路程total_distance = total_distance+per_total_distance    # 次数加1i+=1# 注意!题目求的是在第10次落地时,共经过多少米
# 由于每次总路程都是小球每次下落高度加上每次反弹高度
# 所以最后还需要把总路程减去第10次反弹高度
total_distance=total_distance-bounce_height# 输出球在第10次落地时,共经过多少米,保留两位小数   
print("球第%d次落地时,共经过%.2f米。" % (i, total_distance))
# 输出当次反弹的高度,保留两位小数。
print("球第%d次反弹的高度为%.2f米。" %(i, bounce_height))

【终端输出】

球第10次落地时,共经过299.61米。
球第10次反弹的高度为0.10米。

【解析】

这里同样采用while循环,只是在循环终止条件的设置方式上有所变动。

不在while语句中直接设置循环终止条件,改为在循环体中使用if语句来设置。

同样需要注意i值的初始值、循环条件的具体设定、i值自加语句在循环体中的位置这三者之间的相互配合。

另外,这种方式在设置循环终止条件的if语句中,必然需要使用break语句来终止循环。

6.3 函数递归调用方式1

小球自由落体运动是一个落下、弹起、再落下、再弹起…的循环往复的运动过程,

每一次的落下和弹起都遵循相似的模式,因此,可以考虑使用函数递归调用的方式来解决问题。

递归函数知识回顾可参考下面的链接:

58.Python的递归函数

在使用函数递归调用方法时,需要注意以下几点:

  1. 递归函数体中的代码需要满足程序逐层级深入的循环往复调用要求,能解决每一层级的问题需求。

  2. 递归函数体中提供往下级继续调用的,必须是函数本身。

  3. 递归函数的参数设置和传递的合理准确是成功的关键。

  4. 递归函数体中必须设置停止、退出函数调用的正确且有效的条件,否则很可能导致无限调用使程序崩溃的情况。

我们可以以本题为例,看一下具体该如何进行一个成功的函数递归调用。

【代码示例】

# 采用递归函数方式,总距离total_distance作为函数参数进行传递调用# 初始高度100米
height = 100# 初始化总共经过的距离为0
total_distance = 0# 设置递归函数参数为次数i、下落高度height、累计总路程total_distance
def fall(i,height,total_distance):# 每次反弹高度为每次下落高度的一半bounce_height = height/2# 每次总路程=每次下落的高度+每次反弹的高度per_total_distance=height+bounce_height# 总路程=前面累计总路程+当次总路程total_distance = total_distance+per_total_distance    # 当第10次时,计算题目最终所求,打印结果,终止函数递归调用并返回if i==10:# 注意!题目求的是在第10次落地时,共经过多少米# 由于每次总路程都是小球每次下落高度加上每次反弹高度# 所以最后还需要把总路程减去第10次反弹高度total_distance=total_distance-bounce_height# 输出球在第10次落地时,共经过多少米,保留两位小数   print("球第%d次落地时,共经过%.2f米。" % (i, total_distance))# 输出当次反弹的高度,保留两位小数。print("球第%d次反弹的高度为%.2f米。" %(i, bounce_height))# 必须返回return# 次数加1i+=1# 进行下一轮函数调用,注意把本轮的弹起高度作为下轮的下落高度进行参数传递fall(i,bounce_height,total_distance)fall(1,height,total_distance)

【终端输出】

球第10次落地时,共经过299.61米。
球第10次反弹的高度为0.10米。

【解析】

  1. 递归函数体中描述的是小球每次下落再弹起的运动过程,每轮都具有相似的运动模式,只是相关参数有所变化,可以进行循环往复调用;

  2. 每次调用都能得到当次的几个关键数据值:每次反弹高度、每次总路程、每次累计总路程;

  3. 函数体最后调用的是函数自身,只是传递的参数值有所变化;

  4. 设计函数的三个参数:次数i、下落高度height、累计总路程total_distance。这三个参数都随着每次的调用进行规律性变化,影响并决定着下一轮的调用结果,因此,这样的参数设置是合理有效的。

  5. 函数中提供了终止函数调用的正确且有效的条件(正确包括终止调用的正确时机、终止调用时的数据准确;有效即代表的确可以实现终止调用),并有return语句终止函数调用。

6.4 使用函数递归调用方式2

【代码示例】

# 采用递归函数方式,
# 总距离total_distance设为全局变量,
# 而不作为函数参数进行传递调用# 初始高度100米
height = 100# 初始化总共经过的距离为0
total_distance = 0# 设置函数参数,total_distance不作为函数参数进行传递调用
def fall(i,height):# 当在函数内部用自加方式修改全局变量时,需要用gloabal进行声明global total_distance# 每次反弹高度为每次下落高度的一半bounce_height = height/2# 每次总路程=每次下落的高度+每次反弹的高度per_total_distance=height+bounce_height# 总路程=前面累计总路程+当次总路程total_distance = total_distance+per_total_distance    # 当第10次时,计算题目最终所求,打印结果,终止函数递归调用并返回if i==10:# 注意!题目求的是在第10次落地时,共经过多少米# 由于每次总路程都是小球每次下落高度加上每次反弹高度# 所以最后还需要把总路程减去第10次反弹高度total_distance=total_distance-bounce_height# 输出球在第10次落地时,共经过多少米,保留两位小数   print("球第%d次落地时,共经过%.2f米。" % (i, total_distance))# 输出当次反弹的高度,保留两位小数。print("球第%d次反弹的高度为%.2f米。" %(i, bounce_height))# 必须返回return# 次数加1i+=1# 进行下一轮函数调用fall(i,bounce_height)fall(1,height)

【终端输出】

球第10次落地时,共经过299.61米。
球第10次反弹的高度为0.10米。

【解析】

与前面的函数递归调用方式1唯一不同之处在于:总距离total_distance在这里设为全局变量,而不作为函数参数进行传递调用。

这当然也是可以的,但需要注意一点:total_distance是浮点类型,是不可变数据类型,

函数中原则上是不允许改变不可变数据类型的全局变量值的,如果必须改变,则需要在函数中使用global语句对该全局变量进行改变值的声明。

另外,参数i也是可以设置为全局变量的,因为其每次调用的值改变严格遵循自加一的规律。

但参数height却不能设置为全局变量,因为在调用过程中,是把本轮的弹起高度作为下轮的下落高度进行参数传递,

height值每一轮都会发生改变,而如果将其设置为全局变量,可以从代码中观察到它自始至终都不会发生改变,这显示是不准确的。

这种细节处一定要做精准考究,才能确保函数递归调用的准确性。

6.5 使用列表推导式结合幂函数、求和函数实现

【代码示例】

# 使用列表推导式结合幂函数、求和函数实现# 定义了一个名为distance_bounce_list的列表
# 使用列表推导式生成了包含10个元组的列表
# 每个元组包含两个值
# 第一个值表示球在第i次落地时的总经过距离
# 第二个值表示球在第i次反弹时的高度。
distance_bounce_list=[(100/pow(2,i)+100/pow(2,i+1),100/pow(2,i+1)) for i in range(10)]# 使用sum函数对distance_bounce_list中每个元组的第一个值进行求和
# 得到球在前9次落地时的总经过距离
total_distance=sum([distance_bounce[0] for distance_bounce in distance_bounce_list])# 通过索引[-1]获取distance_bounce_list中最后一个元组
# [1]取出其中的第二个值,即球在第10次反弹时的高度。
last_bounce_height=distance_bounce_list[-1][1]# 将球在第10次反弹时的高度从总经过距离中减去
total_distance-=last_bounce_height
print('球第10次落地时,共经过%.2f米。'%total_distance)
print('球第10次反弹的高度为%.2f米。'%last_bounce_height)

【终端输出】

球第10次落地时,共经过299.61米。
球第10次反弹的高度为0.10米。

列表推导式可参考如下链接:

90. Python列表推导式

本例结合使用了一些python语言中相对来说复杂一点的语法、技巧来实现。

而事实上无论从代码的友好性、结构清晰性还是执行效率性等各方面来衡量,都是不足取的,唯一的优点也就是大幅减少了代码行数而已。

在这里只作为一种练习和研究探索,让我们可以温习一下相关的语法和技巧,也拓宽一下自己的思路,锻炼一下自己思考解决问题的灵活多变能力。

对于初学者而言,有一定理解难度,因此不做要求深究。

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

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

相关文章

day60 动态规划part17

这两题看了自己写的笔记还不懂的话&#xff0c;看看这个up的思路就行&#xff1a; https://space.bilibili.com/111062940/search/video?keyword%E5%9B%9E%E6%96%87 647. 回文子串 中等 提示 给你一个字符串 s &#xff0c;请你统计并返回这个字符串中 回文子串 的数目。 回…

学习【RabbitMQ入门】这一篇就够了

目录 1. RabbitMQ入门1-1. 同步调用1-2. 异步调用1-3. MQ技术选型1-4. RabbitMQ介绍消息模式 1-5. SpringAMQPBasic QueueWork QueueFanout ExchangeDirect ExchangeTopic Exchange消息转换器 1. RabbitMQ入门 1-1. 同步调用 优势&#xff1a; 时效性强&#xff0c;等待到结…

Windows 2008虚拟机安装、安装VM Tools、快照和链接克隆、添加硬盘修改格式为GPT

一、安装vmware workstation软件 VMware workstation的安装介质&#xff0c;获取路径&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1AUAw_--yjZAUPbsR7StOJQ 提取码&#xff1a;umz1 所在目录&#xff1a;\vmware\VMware workstation 15.1.0 1.找到百度网盘中vmwa…

Mysql的基本命令

1 服务相关命令 命令描述systemctl status mysql查看MySQL服务的状态systemctl stop mysql停止MySQL服务systemctl start mysql启动MySQL服务systemctl restart mysql重启MySQL服务ps -ef | grep mysql查看mysql的进程mysql -uroot -hlocalhost -p123456登录MySQLhelp显示MySQ…

8.list容器的使用

文章目录 list容器1.构造函数代码工程运行结果 2.赋值和交换代码工程运行结果 3.大小操作代码工程运行结果 4.插入和删除代码工程运行结果 5.数据存取工程代码运行结果 6.反转和排序代码工程运行结果 list容器 1.构造函数 /*1.默认构造-无参构造*/ /*2.通过区间的方式进行构造…

java-网络编程socket-聊天室-03

完整版代码 java -聊天室的代码: 用于存放聊天室的项目的代码和思路导图https://gitee.com/to-uphold-justice-for-others/java---code-for-chat-rooms.git 多线程并发问题 多线程的并发问题主要出现在当一个程序涉及多个线程同时运行时&#xff0c;这些线程可能会同时访问共…

Java:接口应用(Clonable 接口和深拷贝)

目录 1.引例2.Object中clone方法的实现3.Cloneable接口讲解4.深拷贝和浅拷贝4.1浅拷贝4.2深拷贝 1.引例 Java 中内置了一些很有用的接口, Clonable 就是其中之一. Object 类中存在一个 clone 方法, 调用这个方法可以创建一个对象的 “拷贝”. 但是要想合法调用 clone 方法。必…

精密电阻阻值表和电容容值表

前面2张是电阻阻值表&#xff08;E-96/0603/1%&#xff09; 常见贴片电容的容值表

解决windows下Qt Creator显示界面过大的问题

&#x1f40c;博主主页&#xff1a;&#x1f40c;​倔强的大蜗牛&#x1f40c;​ &#x1f4da;专栏分类&#xff1a;QT❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 目录 问题描述 解决方法 1、右击此电脑--->属性 2、点击高级系统设置--->点击环境变量 3、 找到系…

【美团笔试题汇总】2023-08-26-美团春秋招笔试题-三语言题解(CPP/Python/Java)

&#x1f36d; 大家好这里是KK爱Coding &#xff0c;一枚热爱算法的程序员 ✨ 本系列打算持续跟新小米近期的春秋招笔试题汇总&#xff5e; &#x1f4bb; ACM银牌&#x1f948;| 多次AK大厂笔试 &#xff5c; 编程一对一辅导 &#x1f44f; 感谢大家的订阅➕ 和 喜欢&#x1f…

想要安装ssh?

SSH&#xff08;Secure Shell&#xff09;是一种加密的网络协议&#xff0c;用于在不安全的网络上安全地进行远程登录和执行命令。它通过加密通信和身份验证机制&#xff0c;确保用户和系统之间的通信是安全的。 SSH协议的主要功能包括&#xff1a; 加密通信&#xff1a;SSH使…

虚良SEO-蜘蛛池的作用与工作原理

蜘蛛池是一种SEO优化工具&#xff0c;其主要作用是吸引搜索引擎蜘蛛到特定网站进行爬行和索引&#xff0c;从而提高网站的可见性和排名。下面分别介绍蜘蛛池的作用和工作原理。 蜘蛛池的作用&#xff1a; 提高网站收录&#xff1a; 当一个网站新发布时&#xff0c;或者长时间…

哈佛大学商业评论 --- 第三篇:真实世界中的增强现实

AR将全面融入公司发展战略&#xff01; AR将成为人类和机器之间的新接口&#xff01; AR将成为人类的关键技术之一&#xff01; 请将此文转发给您的老板&#xff01; --- 本文作者&#xff1a;Michael E.Porter和James E.Heppelmann 虽然物理世界是三维的&#xff0c;但大…

如何查询大数据信用报告?查询时需要注意的事项有哪些?

在数字化时代&#xff0c;大数据信用评分对于需要资金周转的个人或企业来说至关重要。许多机构在贷款审批过程中使用大数据信用评分作为风险控制的重要手段。因此&#xff0c;了解自己的大数据信用状况成为了常规操作。本文将详细介绍如何查询大数据信用报告以及查询时需要注意…

ES6: class类

类 class 面相对象class关键字创建类关于类的继承 面相对象 一切皆对象。 举例&#xff1a; 操作浏览器要使用window对象&#xff1b;操作网页要使用document对象&#xff1b;操作控制台要使用console对象&#xff1b; ES6中增加了类的概念&#xff0c;其实ES5中已经可以实现类…

震惊!子元素的padding/margin-top依据的是父元素的宽度!

子元素的margin-top和padding-top都是以父元素的宽度为基准 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" />…

7.java openCV4.x 入门-Mat之转换、重塑与计算

专栏简介 &#x1f492;个人主页 &#x1f4f0;专栏目录 点击上方查看更多内容 &#x1f4d6;心灵鸡汤&#x1f4d6;我们唯一拥有的就是今天&#xff0c;唯一能把握的也是今天建议把本文当作笔记来看&#xff0c;据说专栏目录里面有相应视频&#x1f92b; &#x1f9ed;文…

openEuler 22.03 SP3 安装图像桌面 UKUI

UKUI 是麒麟软件团队历经多年打造的一款 Linux 桌面&#xff0c;主要基于 GTK 和 QT 开发。与其他 UI 界面相比&#xff0c;UKUI 更加注重易用性和敏捷度&#xff0c;各元件相依性小&#xff0c;可以不依赖其他套件而独自运行&#xff0c;给用户带来亲切和高效的使用体验。 UK…

day2 | 数组 part-2 | 977 有序数组的平方、209 长度最小的子数组、59 螺旋矩阵 II

今日任务 977 有序数组的平方 (题目: . - 力扣&#xff08;LeetCode&#xff09;)209 长度最小的子数组 (题目: ​​​​​​​. - 力扣&#xff08;LeetCode&#xff09;)59 螺旋矩阵 II (题目:. - 力扣&#xff08;LeetCode&#xff09;) 有序数组的平方 (双指针) 给你一个…

如何使用 Viggle AI 生成模特动作视频

Viggle AI 是一款基于骨骼动画的 AI 工具&#xff0c;可以将图片转换为流畅且一致的角色动画。 这意味着您可以上传一张模特全身照&#xff0c;然后指定该模特要执行的动作&#xff0c;Viggle AI 会自动生成一段由该模特执行该动作的视频。 步骤 1&#xff1a;准备工作 首先&…