А)Напишите программу, которая вычисляет сумму трех чисел, введенную в форме символьной строки. Все числа целые.Пример:Введите выражение:12+3+45 ответ: 60
Питон
вот пример как я делал, но при сложении таких цифр как 12 3 и 45 он выдает ответ исправить
N=input("Введите выраженеи:\n")
X=N.find("+")
a=N[:X]
N=N[X+1:]
X=N.find("+")
b=N[X:]
c=N[X+1:]
print("ответ:",int(a)+int(b)+int(c))
Программа, которую вы представили, имеет несколько ошибок. Они мешают правильно сложить числа. Я объясню, как исправить эти ошибки и предлагу новое решение:
N = input("Введите выражение:\n")
X = N.find("+")
a = N[:X]
N = N[X+1:]
X = N.find("+")
b = N[:X]
c = N[X+1:]
print("ответ:", int(a) + int(b) + int(c))
Ошибка в вашей программе заключается в том, что при вводе числа 12 она находит первый знак "+" на второй позиции, и это приводит к неправильному определению переменной "b".
Вот исправленная программа с пошаговым объяснением:
1. Сначала мы просим пользователя ввести выражение в символьной строке с помощью функции input().
Например: "12+3+45"
N = input("Введите выражение:\n")
Здесь "N" - это переменная, в которую мы сохраняем введенную пользователем строку.
2. Затем мы ищем позицию первого символа "+", используя функцию find().
Мы сохраняем эту позицию в переменной "X".
В нашем примере, значение "X" будет равно 2, так как "+" расположен на второй позиции в строке.
X = N.find("+")
Мы используем значение "X" для разделения строки на три части: число "a", символ "+", и оставшуюся часть строки.
3. Мы сохраняем число "a", которое находится перед символом "+", в переменную "a".
Мы берем подстроку от начала строки "N" до позиции "X", используя срезы.
В нашем примере, значение "a" будет равно "12".
a = N[:X]
4. Мы обновляем строку "N", отрезая ее начиная с символа "+", чтобы получить оставшуюся часть строки.
В нашем примере, значение "N" будет равно "3+45".
N = N[X+1:]
5. Мы повторяем шаги 2-4, чтобы разделить оставшуюся часть строки на две переменные "b" и "c".
На этот раз мы ищем позицию символа "+" в обновленной строке "N", сохраняем его в переменную "X".
Затем мы сохраняем число "b" до позиции "X" в переменную "b".
И, наконец, мы обновляем строку "N", чтобы получить значение числа "c".
X = N.find("+")
b = N[:X]
c = N[X+1:]
6. Наконец, мы складываем три числа "a", "b" и "c" с помощью оператора "+", приводим их к типу int, чтобы получить сумму,
и выводим полученный ответ на экран.
print("ответ:", int(a) + int(b) + int(c))
Вот и все! Теперь, если вы запустите эту исправленную программу и введете выражение "12+3+45",
она правильно сложит эти числа и выведет ответ "60".
Надеюсь, что мое объяснение было полезным и вы теперь лучше понимаете, как работает эта программа! Если у вас есть еще вопросы, пожалуйста, не стесняйтесь задавать. Буду рад помочь!