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.rhkb.cn/news/298192.html

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

相关文章

C++(语法以及易错点2)

1.内联函数 1.1 概念 以inline修饰的函数叫做内联函数&#xff0c;编译时C编译器会在调用内联函数的地方展开&#xff0c;没有函数调 用建立栈帧的开销&#xff0c;内联函数提升程序运行的效率。 ​int ADD(int a,int b) {return ab; }​ 1.2 特性 1. inline是一种以空间换时间…

【Python基础教程】5. 数

&#x1f388;个人主页&#xff1a;豌豆射手^ &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;python基础教程 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共同学习、…

Taro + vue3 小程序封装标题组件

分为没有跳转页面的title组件和 有跳转页面的title组件 我们可以把这个封装成一个组件 直接上代码 <template><div class"fixed-title-container"><div class"box"><div class"icon" v-if"isShow" click"…

mysql故障排查

MySQL是目前企业最常见的数据库之一日常维护管理的过程中&#xff0c;会遇到很多故障汇总了常见的故障&#xff0c;MySQL默认配置无法满足高性能要求 一 MySQL逻辑架构图 客户端和连接服务核心服务功能存储擎层数据存储层 二 MySQL单实例常见故障 故障1 ERROR 2002 (HY000)…

1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

文章目录 1.为什么要学框架&#xff1f;2.框架的优点展示(SpringBoot VS Servlet)2.1 Servlet 项⽬开发2.1.1 创建项⽬2.1.2 添加引⽤2.1.3 添加业务代码2.1.4 运⾏项⽬(配置tomcat)2.1.5 Maven配置2.1.5.1修改本地Maven仓库地址2.1.5.2 配置settings.xml文件2.1.5.3项目 本地仓…

C++:函数重载和引用

hello&#xff0c;各位小伙伴&#xff0c;本篇文章跟大家一起学习C&#xff1a;函数重载和引用&#xff0c;感谢大家对我上一篇的支持&#xff0c;如有什么问题&#xff0c;还请多多指教 &#xff01; 文章目录 函数重载1.函数重载的概念为什么C支持函数重载 引用引用的概念引…

计算机网络-HTTP相关知识-基础

HTTP基础 基本概念&#xff1a;HTTP是一种计算机之间交流通信的规范&#xff0c;它允许数据在两点之间传输&#xff0c;这个过程可以包括中转或接力。HTTP不仅仅包括文本&#xff0c;还可以包括图片、音频等超文本。状态码&#xff1a;HTTP状态码分为五类&#xff1a; 2xx&…

C++的 stack和queue 的应用和实现【双端队列的理解和应用】

文章目录 stack的理解和应用栈的理解栈的模拟实现string实现stackvector实现stack queue的理解和应用队列的理解队列的模拟实现 双端队列原理的简单理解deque的缺陷为什么选择deque作为stack和queue的底层默认容器STL标准库中对于stack和queue的模拟实现stack的模拟实现queue的…

深度学习pytorch好用网站分享

深度学习在线实验室Featurizehttps://featurize.cn/而且这个网站里面还有一些学习教程 免费好用 如何使用 PyTorch 进行图像分类https://featurize.cn/notebooks/5a36fa40-490e-4664-bf98-aa5ad7b2fc2f

木棍【dfs搜索优化】

木棒 题目描述 输入样例&#xff1a; 9 5 2 1 5 2 1 5 2 1 4 1 2 3 4 0输出样例&#xff1a; 6 5【思路】 优化 【AC代码】 #include <iostream> #include <algorithm> #include <cstring>using namespace std;const int N 70;int w[N], sum, length,…

C语言中的结构体:高级特性与扩展应用

前言 结构体在C语言中的应用不仅限于基本的定义和使用&#xff0c;还包含一些高级特性和扩展应用&#xff0c;这些特性和应用使得结构体在编程中发挥着更加重要的作用。 一、位字段&#xff08;Bit-fields&#xff09; 在结构体中&#xff0c;我们可以使用位字段来定义成员…

CMOS传输门与三态输出门电路

传输门&#xff08;TG&#xff09;的应用比较广泛&#xff0c;在数字电路和模拟电路中均有作用。 在数电中&#xff1a;作为基本单元电路构成各种逻辑电路&#xff1b;在模电中&#xff1a;可在取样-保持电路、斩波电路、数模转换器中传输模拟信号&#xff0c;所以又叫模拟开关…

AssetBundle在移动设备上丢失

1&#xff09;AssetBundle在移动设备上丢失 2&#xff09;Unity云渲染插件RenderStreaming&#xff0c;如何实现多用户分别有独立的操作 3&#xff09;如何在圆柱体类型的地图中编程玩家的输入 4&#xff09;Mixamo动画的根运动问题 这是第380篇UWA技术知识分享的推送&#xff…

【保姆级讲解如何安装与配置Node.js】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

Java中的网络编程(一)

一、网络编程概述 什么是计算机网络把不同区域的计算机&#xff08;广义&#xff09;通过通信设备和线路连接&#xff0c;可以实现数据的传输和共享的系统。实现不同计算机之间的练习&#xff0c;必须有介质连接。网络编程是干什么的聊天-->聊天软件 QQjava语言是支持网络间…

汽车EDI:如何与奔驰建立EDI连接?

梅赛德斯-奔驰是世界闻名的豪华汽车品牌&#xff0c;无论是技术实力还是历史底蕴都在全球汽车主机厂中居于领先位置。奔驰拥有多种车型&#xff0c;多元化的产品布局不仅满足了不同用户画像的需求&#xff0c;也对其供应链体系有着极大的考验。 本文将为大家介绍梅赛德斯-奔驰乘…

MySQL故障排查与生产环境优化

目录 引言 一、故障排查 1.1 故障一 1.2 故障二 1.3 故障三 1.4 故障四 1.5 故障五 1.6 故障六 1.7 故障七 1.8 故障八 1.9 故障九 1.10 故障十 1.11 故障十一 二、 生产环境优化 2.1 硬件优化 2.2 查询优化 总结 引言 MySQL是目前企业最常见的数据库之一&…

【Redis】Redis群集的三种模式(主从、哨兵、群集)

redis群集有三种模式&#xff0c;分别是主从同步/复制、哨兵模式、Cluster&#xff0c;下面会讲解一下三种模式的工作方式&#xff0c;以及如何搭建cluster群集 ●主从复制&#xff1a;主从复制是高可用Redis的基础&#xff0c;哨兵和集群都是在主从复制基础上实现高可用的。主…

MySQL、Oracle查看字节和字符长度个数的函数

目录 0. 总结1. MySQL1.1. 造数据1.2. 查看字符/字节个数 2. Oracle2.1. 造数据2.2. 查看字符/字节个数 0. 总结 databasecharbyteMySQLchar_length()length()Oraclelength()lengthB() 1. MySQL 1.1. 造数据 sql drop table if exists demo; create table demo (id …

软件架构复用

1.软件架构复用的定义及分类 软件产品线是指一组软件密集型系统&#xff0c;它们共享一个公共的、可管理的特性集&#xff0c;满足某个特定市场或任务的具体需要&#xff0c;是以规定的方式用公共的核心资产集成开发出来的。即围绕核心资产库进行管理、复用、集成新的系统。核心…