А)Напишите программу, которая вычисляет сумму трех чисел, введенную в форме символьной строки. Все числа целые.Пример:Введите выражение: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))

jadeholden451 jadeholden451    3   09.04.2020 22:40    439

Ответы
KiraKen KiraKen  24.01.2024 19:50
Добрый день! Я рад выступить в роли вашего школьного учителя и помочь вам разобраться с этой программой.

Программа, которую вы представили, имеет несколько ошибок. Они мешают правильно сложить числа. Я объясню, как исправить эти ошибки и предлагу новое решение:

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".

Надеюсь, что мое объяснение было полезным и вы теперь лучше понимаете, как работает эта программа! Если у вас есть еще вопросы, пожалуйста, не стесняйтесь задавать. Буду рад помочь!
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика