Тема: суму елементів списку, розташованих між першим і другим від’ємними

В одновимірному масиві (списку), що складається з n цілих елементів,
обчислити суму елементів списку, розташованих між першим і другим
від’ємними елементами.

І дати коментарі до кожної строки

2

Re: суму елементів списку, розташованих між першим і другим від’ємними

П.3.5 Правил
Усе погано.

3

Re: суму елементів списку, розташованих між першим і другим від’ємними

#імпортуємо рандом
import random

#оголошуєм список
LIST = [-1, 2]

#питаєм у користувача якого розміру буде масив
n = int(input("введіть n: "))

#додаємо до n , 2 , томущо в списку є 2 учасника ( щоб був 100% результат)
n += 2

# оголошуємо перемінну суму та перемінну num
suma = 0

#заповнюємо список
for i in range(n):
    #заповнюємо список раномними числами за допомогою функції randint() з модуля random
    LIST.append(random.randint(-100, 100))

#виведем список для , просто виведемо :D
print(LIST)


#цикл
for i in range(n):

    #перевіряєм чи є даний елемент масиву меньший 0
    if LIST[i] < 0:

        #записуємо номер першого відємного елемента
        num = i

        #вихід з циклу
        break

for i in range(n):
    
    # якщо i меньша рівна номеру першого відємного числа
    if i <= num:
        pass
    # якщо елемент відємний
    elif LIST[i] < 0:

        # вихід з циклу
        break
    else:
        #якщо жодна з попередніх умов не виконалась, додаємо елемент до суми
        suma += LIST[i]

#виводим суму
print(suma)
Подякували: ustinovskiy031

4

Re: суму елементів списку, розташованих між першим і другим від’ємними

"mamkin haker" написав:

П.3.5 Правил
Усе погано.

from random import randint
a = [randint(-9, 9) for _ in range(10)]
print(a)
flag = 0
s = 0
for d in a:
    if d < 0 :
        flag += 1
    elif flag == 1 and d > 0:
        s += d 
    elif flag == 2:
        print(s)
        break

коментарії потрібні

5 Востаннє редагувалося "mamkin haker" (15.05.2021 12:21:39)

Re: суму елементів списку, розташованих між першим і другим від’ємними

ustinovskiy03 написав:
from random import randint
a = [randint(-9, 9) for _ in range(10)]
print(a)
flag = 0
s = 0
for d in a:
    if d < 0 :
        flag += 1
    elif flag == 1 and d > 0:
        s += d 
    elif flag == 2:
        print(s)
        break

коментарії потрібні

1) це геть не тe
2) чому одразу свої опацювання не додали
3) чим не влаштовує вас мій варіант?

Подякували: ustinovskiy031

6

Re: суму елементів списку, розташованих між першим і другим від’ємними

"mamkin haker" написав:
ustinovskiy03 написав:
from random import randint
a = [randint(-9, 9) for _ in range(10)]
print(a)
flag = 0
s = 0
for d in a:
    if d < 0 :
        flag += 1
    elif flag == 1 and d > 0:
        s += d 
    elif flag == 2:
        print(s)
        break

коментарії потрібні

1) це геть не тe
2) чому одразу свої опацювання не додали
3) чим не влаштовує вас мій варіант?

Все перевірив, ваш варіант дійсно кращий, дакую <3

7

Re: суму елементів списку, розташованих між першим і другим від’ємними

ustinovskiy03 написав:

Все перевірив, ваш варіант дійсно кращий, дакую <3

ось так гадаю буде краще:

#імпортуємо рандом
import random

#оголошуєм список
LIST = []

#питаєм у користувача якого розміру буде масив
n = int(input("введіть n: "))

# оголошуємо перемінну суму
suma = 0

#заповнюємо список
for i in range(n):
    #заповнюємо список раномними числами за допомогою функції randint() з модуля random
    LIST.append(random.randint(-9, 9))

#виведем список для , перевірки результату 
print(LIST)


#цикл
for i in range(n):

    #перевіряєм чи є даний елемент масиву меньший 0
    if LIST[i] < 0:

        #записуємо номер першого відємного елемента
        num = i

        #вихід з циклу
        break

for i in range(n):
    
    #намагаємось запустити код
    try:
    
        # якщо i меньша рівна номеру першого відємного числа
        if i <= num:
            pass
        # якщо елемент відємний
        elif LIST[i] < 0:

            # вихід з циклу
            break
        else:

            #якщо жодна з попередніх умов не виконалась, додаємо елемент до суми
            suma += LIST[i]

    #якщо відємних елементів неіснує, то виконуєтся ця частина коду
    except Exception as e:
        
        #виводим в консоль текст
        print('Відємних чисел немає!')

        #вихід з циклу
        break

#виводим суму
print(suma)