Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.69/125: Рейтинг темы: голосов - 125, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 12.10.2019
Сообщений: 16

Задача с вводом и обработкой пользовательских значений

16.10.2019, 18:23. Показов 23710. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Программа запрашивает у пользователя строку чисел, разделенных пробелом. При нажатии Enter должна выводиться сумма чисел. Пользователь может продолжить ввод чисел, разделенных пробелом и снова нажать Enter. Сумма вновь введенных чисел будет добавляться к уже подсчитанной сумме. Но если вместо числа вводится специальный символ, выполнение программы завершается. Если специальный символ введен после нескольких чисел, то вначале нужно добавить сумму этих чисел к полученной ранее сумме и после этого завершить программ
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.10.2019, 18:23
Ответы с готовыми решениями:

Задачи с вводом и обработкой двумерных массивов
Всем привет. Задача связанная с обработкой массива. Не могу реализовать ввод матрицы: входные данные поступают построчно - одна...

подскажите с обработкой связанную с заменой значений элементов
Есть справочник "Подразделения", в этом спр. существуют дублирующие элементы и каждый элемент используется в разных документах. мне надо...

Поделитесь простейшей внешней обработкой с таблицей значений
Не могу разобраться, в инете не нешел, скопировал обработку Активные пользователи(т.к. там таблица значений) на свою внешнюю, заполняю...

26
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
16.10.2019, 18:30
Myers, в чём трудности? Вы не знаете, как сделать ввод в цикле и посчитать сумму, проверять, если ввод == спец.символу то break, в чём именно ваша проблема?
1
0 / 0 / 0
Регистрация: 12.10.2019
Сообщений: 16
16.10.2019, 18:32  [ТС]
Не могу понять как посчитать.
Если не сложно можете объяснить как это делается
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
16.10.2019, 18:37
Смотрите, есть 2 варианта:

1) Я за Вас делать не буду, но придёт другой форумчанин и решит, просто пришлёт код и всё. У нас есть ребята, которые решают задачки в своё удовольствие

2) Мы с Вами делаем всё вместе и по-порядку.
1
0 / 0 / 0
Регистрация: 12.10.2019
Сообщений: 16
16.10.2019, 18:39  [ТС]
Damenikx Мне не нужно готовое решение, я хочу понять как это делается, что бы в дальнейшем с этим проблем не было, так что если не сложно 2 вариант)
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
16.10.2019, 18:43
Цитата Сообщение от Myers Посмотреть сообщение
Если специальный символ введен после нескольких чисел
раскройте тайну, какой символ?
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
16.10.2019, 18:44
Вот это наш человек! Но сразу говорю, моё решение может быть не совсем "правильным" в плане кода, но мы будем стараться.

Давай попробуем разложить нашу задачку на 3 маленьких. Как ты думаешь, какие?

Добавлено через 23 секунды
Цитата Сообщение от Arsegg Посмотреть сообщение
раскройте тайну, какой символ?
Я думаю - любой, ну допустим "#"
0
0 / 0 / 0
Регистрация: 12.10.2019
Сообщений: 16
16.10.2019, 18:45  [ТС]
Мне главное принцип понять
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
16.10.2019, 18:52
Myers, окей.

Вам нудно сделать цикл, который будет добавлять значения через пробел пока не встретит специальный символ допустим вот так:

Python
1
2
3
4
5
while True:
    a = list(input('Введите числа: ').split())
    if a == '#':
        break
    print(a)
Добавлено через 46 секунд
Затем вам надо доабвить сюда ту часть которая будет переводить значения списка "а" в int и считать их сумму.
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
16.10.2019, 18:58
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
In [1]: s = 0
 
In [2]: try:
   ...:     while True:
   ...:         for n in map(int, input().split()):
   ...:             s += n
   ...:         print(s)
   ...: except ValueError:
   ...:     print(s)
   ...:
1 2 3 4 5
15
1 1 1 1 1
20
2 2 2 2 2
30
3 3 3 3 3 STOP
45
0
16.10.2019, 19:02

Не по теме:

Ну Arsegg, весь педагогический процесс поломал!

0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
16.10.2019, 19:05
iSmokeJC,
0
16.10.2019, 19:05

Не по теме:

iSmokeJC, ой, всё...я пошёл :( сижу тут, думаю, стараюсь придумать как донести и вот тебе на :(

0
0 / 0 / 0
Регистрация: 12.10.2019
Сообщений: 16
16.10.2019, 19:09  [ТС]
А можете код объяснить?
Что есть что?
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
16.10.2019, 19:12
Arsegg, объясни, а то будет, как в прошлый раз с кем-то, кто полностью копипастил твой код а потом говорил: "тут ошибка, пишет: Invalid value In"
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
16.10.2019, 19:14
Damenikx, ну хз, читаем пока есть числа, добавляем. Из меня педагог некудышный.
0
 Аватар для Semen-Semenich
5222 / 3469 / 1173
Регистрация: 21.03.2016
Сообщений: 8,295
16.10.2019, 19:17
Arsegg, я не проверял конечно но судя по логике
Цитата Сообщение от Myers Посмотреть сообщение
Если специальный символ введен после нескольких чисел, то вначале нужно добавить сумму этих чисел к полученной ранее сумме и после этого завершить программ
то эта строка
Python
1
for n in map(int, input().split())
вызовет ошибку так как символ к числу не приведешь а значить сумму этих чисел уже не сложить с ранее полученной. может я ошибаюсь. кто проверял?
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
16.10.2019, 19:20
Цитата Сообщение от Semen-Semenich Посмотреть сообщение
вызовет ошибку так как символ к числу не приведешь а значить сумму этих чисел уже не сложить с ранее полученной. может я ошибаюсь. кто проверял
Мапа лениво считает.
1
0 / 0 / 0
Регистрация: 12.10.2019
Сообщений: 16
16.10.2019, 19:20  [ТС]
Спасибо всем за помощь, все понятно.
0
36 / 21 / 9
Регистрация: 17.10.2019
Сообщений: 95
17.10.2019, 20:17
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
while 1:
    i = input(">>>")#Запрос ввода
    i = i.split(" ")#Делим по пробелам
    a = 0
    while a<len(i):
        try:
            i[a] = int(i[a])#строки в числа
        except ValueError:
            print("Value Error")#при ошибке пишем ошибку и останавливаем цикл
            break
        a = a + 1
    z = 0#Переменная с результатом
    for c in i:
        z = z + c#Считаем все
    print(z)#Выводим результат
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.10.2019, 20:17
Помогаю со студенческими работами здесь

Задача с обработкой данных типа Char
Ввести символьную матрицу 3х2 и построить последовательность, диагональ матрицы.

Задача с обработкой данных во время ввода.
Известен рост студентов(в группе 12 человек).Составить программу для определения номера по журналу самого высокого студента с обработкой...

Задача из ЕГЭ с обработкой и сортировкой массивов
Для перевозки партии грузов различной массы выделен грузовик, но его грузоподъёмность ограничена, поэтому перевезти сразу все грузы не...

Добавить внешней обработкой значения в отбор другой обработкой
Имеется обработка, где есть отбор по номенклатуре у пользователей. Слева пользователи (СЗ) - Справа номенклатура (СЗ). Как...

MessageBox с вводом значений
Здравствуйте! В программе есть comboBox1, в котором при выборе значения должно появляться диалоговое окно, в котором можно было бы вводить...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru