0 / 0 / 0
Регистрация: 18.03.2020
Сообщений: 10

Не понимаю почему список переходит в string, когда он int

05.05.2020, 18:23. Показов 3704. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сама задача:
Петя успевает по математике лучше всех в классе, поэтому учитель задал ему сложное домашнее задание, в котором нужно в заданном наборе целых чисел найти сумму всех положительных элементов, затем найти где в заданной последовательности находятся максимальный и минимальный элемент и вычислить произведение чисел, расположенных в этой последовательности между ними. Так же известно, что минимальный и максимальный элемент встречаются в заданном множестве чисел только один раз и не являются соседними. Поскольку задач такого рода учитель дал Пете около ста, то Петя как сильный программист смог написать программу, которая по заданному набору чисел самостоятельно находит решение. А Вам слабо?

Входные данные
В первой строке входного файла INPUT.TXT записано единственное число N – количество элементов массива. Вторая строка содержит N целых чисел, представляющих заданный массив. Все элементы массива разделены пробелом. Каждое из чисел во входном файле, в том числе и N, не превышает 102 по абсолютной величине.

Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести два числа, разделенных пробелом: сумму положительных элементов и произведение чисел, расположенных между минимальным и максимальным элементами. Значения суммы и произведения не превышают по модулю 3*104.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 [5]
[ -7 5 -1 3 9] (17 -15)
2 [8]
[3 14 -9 4 -5 1 -12 4] (26 180)
3 [10]
[ -5 1 2 3 4 5 6 7 8 -3] (36 5040)

#без скобок номера данных, в квадратных входные данные, в круглых выходные данные


Мой код:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
n=int(input())
b=[]
a=0
c=1
z=1
a=input().split()
for x in range (n):
    b.append (int(a[x]))
b.sort()
for f in range(n-2):
    c*=b[z] 
    z+=1
try:
    for g in b:
        if b[x]>0:
            i=b[x]
            a+=int(i)
finally:
    print (a, c)
Вот что стоит в try, то и не работает, решил вывести это всё в finally, чтоб видно было чё там с переменной a происходит, ну увидите всё сами в компиляторе
Помогите пожалуйста

Добавлено через 12 минут
Извините, забыл код выделить в самом вопросе, а время истекло
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
n=int(input())
b=[]
a=0
c=1
z=1
a=input().split()
for x in range (n):
    b.append (int(a[x]))
b.sort()
for f in range(n-2):
    c*=b[z] 
    z+=1
try:
    for g in b:
        if b[x]>0:
            i=b[x]
            a+=int(i)
finally:
    print (a, c)
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.05.2020, 18:23
Ответы с готовыми решениями:

Too few parameters in call to 'Lechebnica::AddNewElement(int,int,string,string,int,string)
Edit1 Id Edit2 Имя Edit3 Фамилия Edit4 Номер телефона ComboBox1 Услуга Всё string, кроме id, оно int ...

Фильтровать БД по полю с логикой int, когда оно равно string
В общем есть беда... Есть сложный динамический sql-запрос, одно из условий фильтрации - фильтрация по диапазону значений, что-то вроде...

Почему когда в скобках я пишу int ошибка ?
Сделал правильно,но не понимаю одну вещь,где я выделил. #include <iostream> int func(int); int main() { ...

3
Эксперт Python
 Аватар для unfindable_404
693 / 471 / 204
Регистрация: 22.03.2020
Сообщений: 1,051
05.05.2020, 20:06
Лучший ответ Сообщение было отмечено shestikpetr как решение

Решение

Планировал подправить ваш код. Стал убирать лишнюю ерунду и в итоге убрал всё. Вот нормальный вариант.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
input()
numbers = [int(num) for num in input().split()]
 
min_item_index = numbers.index(min(numbers))
max_item_index = numbers.index(max(numbers))
 
sum_of_positive = sum(num for num in numbers if num > 0)
 
mult_in_range = 1
left = min(min_item_index, max_item_index)
right = max(min_item_index, max_item_index)
 
print(left, right)
 
for num in numbers[left + 1:right]:
    mult_in_range *= num
 
print(sum_of_positive, mult_in_range)
Добавлено через 2 минуты
А ошибка у вас потому, что переменная a - это список, а вы суммируете список с числом. Не знаю, что вы пытались получить, но это невыполнимо.
1
0 / 0 / 0
Регистрация: 18.03.2020
Сообщений: 10
06.05.2020, 02:25  [ТС]
А ошибка у вас потому, что переменная a - это список, а вы суммируете список с числом. Не знаю, что вы пытались получить, но это невыполнимо.
Ой я дурак, забыл, что переменная a уже используется... Такая тупая ошибка, ну а код конечно я и сам знал что ерунда, но спасибо за новый. Ну и то, что Вы используете в коде я ещё не изучал, там .numbers к примеру.
Спасибо!
0
Эксперт Python
 Аватар для unfindable_404
693 / 471 / 204
Регистрация: 22.03.2020
Сообщений: 1,051
06.05.2020, 10:59
Цитата Сообщение от shestikpetr Посмотреть сообщение
забыл, что переменная a уже используется..
Таких ошибок не будет, если вы начнёте осознанно называть переменные. Имя переменной должно отражать информацию либо о её назначении, либо о данных, которые в ней хранятся. А переменные с именами a, b, c, i, n - это неподдерживаемый ужас.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.05.2020, 10:59
Помогаю со студенческими работами здесь

Почему, когда кнопка является дочерней от объекта, КОТОРЫЙ дочерний от канваса, она не работает? Не понимаю
//Что тут написать?

4 занятие только не понимаю вообще нечего(только понять что такое int,string ,double
Человек подтягивается лесенкой: 1 раз, 2 раза, 3 раза, итд. - Подсчитать сколько он всего раз подтянется за N подходов, N задано с...

Я не понимаю,почему однонаправленный список ломается
Вообщем,без предисловий, сразу к делу. Разбираю программу и не могу понять; Допустим ввожу сначала 1 А, а затем 2 В и мне на экран...

Не работает перегрузка индексного оператора [], вместо [int][int] почему то нужно ставить [0][int][int]
#include<iostream> #include<string> #include<vector> #include<algorithm> #include<ctime> #include<conio.h> #include<windows.h> ...

Почему когда конвертирую string в double перестает работать проверка?
#include <iostream> #include <string> #include <cctype> using namespace std; int main() { double a; string err1(",");...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru