用于查找子列表总和的 Python 程序

news/2024/11/23 17:14:40/

使用的方法

以下是完成此任务的各种方法 -

  • 使用 For 循环(暴力代码)
  • 使用累积和法
  • 使用 sum() 函数
  • 使用 math.fsum() 函数

使用 For 循环(暴力代码)

算法(步骤)

以下是执行所需任务要遵循的算法/步骤。−

  • 创建一个变量来存储输入列表。
  • 创建两个单独的变量来存储开始索引和结束索引。
  • 将变量 resultSum 初始化为 0,以存储子列表的结果总和。
  • 使用 for 循环遍历从给定开始索引到结束索引的范围。
  • 将迭代器索引处的相应值添加到上面定义的 resultSum 变量(给定开始和结束索引中的元素总和)
  • 打印子列表的结果总和(从开始到结束索引)。

以下程序返回子列表的总和,即使用 for 循环返回给定开始和结束索引的元素总和 −

# input list inputList = [3, 5, 10, 5, 2, 3, 1, 20] print("The Given List is:", inputList) # starting index start_index = 1 # ending index end_index = 5 # initializing a variable to 0 for storing the resultant sublist sum resultSum = 0 # traversing in the range from the given start index to the end index for k in range(start_index, end_index+1):    # adding corresponding value at the iterator index to the resultSum variable       resultSum += inputList[k] # Printing the resultant sum of sublist(from start to end index) print("The resultant sum of sublist is:", resultSum)

复制

输出

在执行时,上述程序将生成以下输出 -

The Given List is: [3, 5, 10, 5, 2, 3, 1, 20] The resultant sum of sublist is: 25

复制

使用累积和法

使用累积总和方法将前面的元素值添加到当前索引值中。

算法(步骤)

以下是执行所需任务要遵循的算法/步骤。−

  • 使用 for 循环,使用 len() 函数循环直到输入列表的长度(返回对象中的项数)。
  • 如果当前索引为 0,则上一个索引处将没有元素,因此请使用 continue 语句继续迭代。
  • 否则将前一个元素的值添加到当前元素(累计总和)。
  • 使用 if 条件语句检查给定的起始索引是否为 0。
  • 在输入列表的给定结束索引处打印元素,如果上述 if 条件为真。
  • 否则打印给定结束索引处的元素与开始索引的前一个元素的差异。

以下程序返回子列表的总和,即使用累积和方法返回给定开始和结束索引的元素总和 -

# input list inputList = [3, 5, 10, 5, 2, 3, 1, 20] print("The Given List is:", inputList) # starting index start_index = 1 # ending index end_index = 5 # looping till the length of the input list for k in range(len(inputList)):    # If it the index is 0 i.e first element then continue(do nothing)    if(k == 0):       continue    else:       # Else add the previous element value to the current element       inputList[k] = inputList[k]+inputList[k-1] print("The resultant sum of sublist is:") # checking whether the given starting index is 0 if(start_index == 0):    # printing the element at the given end index of the list       print(inputList[end_index]) else:    # Else printing the difference of elements at the given end index    # and previous of start index       print(inputList[end_index]-inputList[start_index-1])

复制

输出

The Given List is: [3, 5, 10, 5, 2, 3, 1, 20] The resultant sum of sublist is: 25

复制

使用 sum() 函数

算法(步骤)

以下是执行所需任务要遵循的算法/步骤。−

  • 使用切片从开始索引获取从开始索引到结束索引的列表元素。
  • 使用 sum() 函数(返回任何可迭代对象中所有项目的总和)打印子列表的总和,即从给定的开始索引到结束索引的元素总和。

以下程序返回子列表的总和,即使用 sum() 函数 − 返回给定开始和结束索引中的元素总和

# input list inputList = [3, 5, 10, 5, 2, 3, 1, 20] print("The Given List is:", inputList) start_index = 1 end_index = 5 print("The resultant sum of sublist is:") # Getting the list elements between start and end indices resultList = inputList[start_index:end_index+1] # Printing the sum of the sublist i.e printing above resultList sum print(sum(resultList))

复制

输出

The Given List is: [3, 5, 10, 5, 2, 3, 1, 20] The resultant sum of sublist is: 25

复制

使用 math.fsum() 函数

fsum() 是数学模块中的特殊函数之一。然后可以使用 fsum() 函数计算子列表的总和。

python中的math.fsum()函数返回任何可迭代对象(如元组,数组,列表等)中所有项目的总和。

以下程序返回子列表的总和,即使用 math.fsum() 函数从给定的开始和结束索引中元素的总和 −

# importing math module import math # input list inputList = [3, 5, 10, 5, 2, 3, 1, 20] # starting index start_index = 1 # ending index end_index = 5 print("The Given List is: [3, 5, 10, 5, 2, 3, 1, 20]") print("The resultant sum of sublist is:") # Getting the list elements between start and end indices resultList = inputList[start_index:end_index+1] # Printing the sum of the sublist i.e printing above resultList sum print(math.fsum(resultList))

复制

输出

The Given List is: [3, 5, 10, 5, 2, 3, 1, 20] The resultant sum of sublist is: 25.0

http://www.ppmy.cn/news/175497.html

相关文章

druid源码浅析

目录 配置 DruidDataSourceAutoConfigure new DruidDataSourceWrapper() DruidDataSource构造函数 init方法 getConnection() 小结 配置 DruidDataSourceAutoConfigure // 配置类 Configuration // 有DruidDataSource类时生效 ConditionalOnClass(DruidDataSource.class…

java远程调用接口、URL的方式

一:httpUrlConnection 1.获取HttpURLConnection连接对象 /*** 获取HttpURLConnection连接对象* param url 远程调用的url* return*/public static HttpURLConnection getHttpURLConnection(String url){try {//建立连接URL httpUrl new URL(url);HttpURLConnectio…

MySQL 5.7 修改账号密码

MySQL 5.7 修改账号密码 1、概述2、更改密码2.1、寻找命令2.2、补充 3、总结 1、概述 大家好,我是欧阳方超。 MySQL数据库安装后设置的密码太简单了, 近期安全检查,这种弱密码全部得修改,好吧那就开始改吧 2、更改密码 2.1、寻…

台式计算机规格型号怎么查,台式电脑主板型号在哪里看

大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答。 查看台式电脑主板型号的方法: 1、打开桌面左下角的“开始菜单”,在搜索功能中输入“DxDiag”然后点击运行。 2、接下来就会出现“DirectX诊断工具”&#xf…

dell台式计算机主板电池,台式机主板电池怎么拆

大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答。 以戴尔台式机为例,台式机主板电池的拆法: 1、关闭电源,将所有插在机箱上面的电线与相关设备移除。 2、用十字的螺丝刀启开电脑机箱,将…

hp 服务器主板如何查看型号,hp台式电脑主板型号怎么查看

惠普ProDesk400G1SFFJ4J37PA惠普ProDesk400G1SFFJ4J37PA类型:商用台式机;操作系统:Linux;处理器:IntelCeleronG18402.8GHz/L32M;内存大小:2GB;硬盘容量:500GB&#xff1b…

windows环境使用clion搭建redis5.0 redis6.0的源码阅读环境

1、下载cygwin https://cygwin.com/install.html 第一步选择从互联网安装 别放在C盘 选择直接连接 我这边选择的是163的节点 接下来,就是让我们选择要安装的东西,网上一般给的就是如下几个: gcc-core、gcc-g、make、gdb、binutils 一个个…

台式机计算机在哪里看,IT教程:台式电脑主板型号在哪里看

科技就如同电灯发出的光一样,点亮我们的世界,点亮我们的生活,这一段时间以来台式电脑主板型号在哪里看的消息络绎不绝是什么原因呢?接下来就让我们一起了解一下吧。 大家好,我是智能客服时间君,上述问题将由我为大家进…