Как мне повторить этот процесс для разных значений или случаев? - PullRequest
0 голосов
/ 26 сентября 2019

Как я могу использовать цикл for здесь для нескольких случаев:

s=int(input())
a=[]
for j in range(0,s):
  b,n = map(int, input().split())
  for i in range(b,n+1):
    c=i*(-1)**i 
    a.append(c)
  print(sum(a))

Я хочу вывод, такой как:

input

5
1 3
2 5
5 5
4 4
2 3

Output

-2
-2
-5
4
-1

, но когда я использую цикл for, я получаю такой результат:

5
1 3 
-2 
5 5 
-7
2 5
-9
7 5
-9
1 5
-12

1 Ответ

0 голосов
/ 26 сентября 2019

Вы сделали очень маленькую ошибку в вашем коде.Чтобы получить желаемые результаты, вам нужно будет использовать

s=int(input())
for j in range(0,s):
  a=[]
  b,n = map(int, input().split())
  for i in range(b,n+1):
    c=i*(-1)**i 
    a.append(c)
  print(sum(a))

. В этом случае вы сбрасываете значение массива a в каждом внешнем цикле, а не сохраняете его во всей программе.

Вы можете проверить результаты того же самого по этой ссылке TIO здесь .Выходные данные соответствуют ожидаемому для предоставленного примера

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...