首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >以给定的间隔向列表中添加数字

以给定的间隔向列表中添加数字
EN

Stack Overflow用户
提问于 2018-07-15 04:25:05
回答 1查看 277关注 0票数 0

我正在尝试将'x‘添加到列表'arr’中'a‘和'b’之间。列表被更新了'm‘次。(即)我们将'x’添加到'm‘的'a’和'b‘之间的列表中,times.Ive设法仅在'a’和'b‘处更新了'arr’中的'x‘值,而不是在intervals.Kindly帮助之间!

代码语言:javascript
复制
def main():
arr=[]
n=int(input())
m=int(input())
for i in range(n):
    arr.append(0)
for i in range(m):
    a=int(input())
    b=int(input())
    x=int(input())
    for j,c in range(len(arr)):
            if j==a-1 :
                arr[a-1]=x+arr[a-1]
            if j==b-1:
                arr[b-1]=x+arr[b-1]


    print(arr)
if __name__ == '__main__':
main()
EN

回答 1

Stack Overflow用户

发布于 2018-07-15 08:09:46

我不清楚这个问题,但我认为你所说的你想做的是:

  1. Create array
  2. 将数字'x‘添加到阵列的索引中
  3. 重复步骤2

我忽略了'm‘。

代码语言:javascript
复制
  arr = []
  array_length = int(input('Length of initial array >'))
  arr = [0]*array_length # Create the array
  keep_running = True # Replacing the use of 'm' - less parameters for the user!
  while keep_running:

    x = int(input('Number to add >'))
    param_index_start = int(input('Start at index >')) #formerly 'a'
    # Lets check that the start index is valid
    if param_index_start > len(arr):
      print("Start index must be less than initial array length ({})".format(len(arr)))
      continue
    param_index_stop = int(input('Finish at index >')) #formerly 'b'

    arr_length = len(arr)
    # Lets make sure we are not trying to access indexes which do not exist
    stop_index = min(arr_length, param_index_stop)
    start_index = min(arr_length, param_index_start)
    print("Adding {} to indexes {} to {}".format(x, start_index, stop_index))
    # Do the addition
    for index in range(start_index, stop_index):
      arr[index] += x

    print("Current array: ", arr)
    # Allow the user an opportunity to exit
    continue = input("Continue adding? Y/N >")
    if continue == "N":
      keep_running = False

以下是一些示例输出(为节省空间而压缩)

代码语言:javascript
复制
Length of initial array > 10
Number to add > 1
Start at index > 5
Finish at index > 10
Adding 1 to indexes 5 to 10
Current array:  [0, 0, 0, 0, 0, 1, 1, 1, 1, 1]
Continue adding? Y/N > Y

Number to add > 3
Start at index > 4
Finish at index > 7
Adding 3 to indexes 4 to 7
Current array:  [0, 0, 0, 0, 3, 4, 4, 1, 1, 1]
Continue adding? Y/N > Y

Number to add > 1
Start at index > 0
Finish at index > 20
Adding 1 to indexes 0 to 10
Current array:  [1, 1, 1, 1, 4, 5, 5, 2, 2, 2]
Continue adding? Y/N > N

[1, 1, 1, 1, 4, 5, 5, 2, 2, 2]

您可以找到repl示例here

我可能误解了你的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51343096

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档