Помогите подалуйста | Sololearn: Learn to code for FREE!
New course! Every coder should learn Generative AI!
Try a free lesson
+ 1

Помогите подалуйста

Вы создаете калькулятор, который должен складывать несколько чисел, полученных в качестве входных данных, и выводить результат. Количество входных данных является переменным, и работа должна останавливаться, когда пользователь вводит "stop". Пример Входных Данных 4 32 6 stop Пример Выходных Данных 42 Используйте бесконечный цикл, чтобы принимать пользовательский ввод и останавливать его, если входные данные равны "stop".

15th May 2021, 9:59 PM
Богдан
Богдан - avatar
27 Answers
+ 3
Вот мой код: sum = 0 while True: x = input() #ваш код if x != "stop": sum = sum + int(x) else: break print(sum)
15th May 2021, 11:29 PM
Yaroslav Vernigora
Yaroslav Vernigora - avatar
+ 8
Я слышу и забываю. Я вижу и помню. Я делаю и понимаю.” – Конфуций
15th May 2021, 11:27 PM
Yaroslav Vernigora
Yaroslav Vernigora - avatar
+ 2
sum = 0 while True: x = input() print (sum) sum= sum+x if x=="stop": break Ну как то вот так , но что сделать с «х» , что бы можно было и взаимодействовать и с числом и с переменными ?
15th May 2021, 10:40 PM
Богдан
Богдан - avatar
+ 2
Я ж тебе подсказал: Принимаем х, Проверяем: это stop? Если да - выход из цикла Если нет - х преобразовываем в число и суммируем Печатаем результат
15th May 2021, 11:04 PM
Yaroslav Vernigora
Yaroslav Vernigora - avatar
+ 1
Вот код: sum = 0 while True: x = input() if x=="stop": break else: x=int(x) print (sum) sum= sum+ x Вот ввод: 1 2 3 4 5 Stop Вот вывод: 0 1 3 6 10 , что здесь не так?
15th May 2021, 11:14 PM
Богдан
Богдан - avatar
+ 1
У тебя сначала выводится сумма, а затем суммируется. Надо наоборот. Суммируем, затем выводим. Сумма это ведь итог, а конец программы это печать суммы. Печать суммы должно идти в конце
15th May 2021, 11:19 PM
Yaroslav Vernigora
Yaroslav Vernigora - avatar
+ 1
Я это уже исправил , всеравно вместо «15» выдает : 1 3 6 10 15
15th May 2021, 11:22 PM
Богдан
Богдан - avatar
+ 1
sum = 0 while True: x = input() if x=="stop": break else: x=int(x) sum= sum+ x print (sum) Все , уже все работает
15th May 2021, 11:24 PM
Богдан
Богдан - avatar
+ 1
Спасибо за помощь дружище , удачи тебе !)
15th May 2021, 11:24 PM
Богдан
Богдан - avatar
+ 1
Бинго!
15th May 2021, 11:24 PM
Yaroslav Vernigora
Yaroslav Vernigora - avatar
+ 1
Было сложно, но мы справились! 😁🤩🥳 всегда мысли как компьютер последовательно и построчно
15th May 2021, 11:26 PM
Yaroslav Vernigora
Yaroslav Vernigora - avatar
0
Привет! Покажи пожалуйста свой код попытки решить эту задачу
15th May 2021, 10:08 PM
Yaroslav Vernigora
Yaroslav Vernigora - avatar
0
sum = 0 while True: x = int(input()) xo = int(input()) xt = int(input()) xtr = int(input()) xf = int(input()) st = str(input()) y= x+xo+xt+xtr+xf print (y) if st=="stop": break
15th May 2021, 10:13 PM
Богдан
Богдан - avatar
0
Могу я узнать, где ты взял эту задачу?
15th May 2021, 10:22 PM
Yaroslav Vernigora
Yaroslav Vernigora - avatar
0
Код - сам написал , а задача из курса python для начинающих
15th May 2021, 10:23 PM
Богдан
Богдан - avatar
0
1. Не стоит делать много инпутов для ввода, достаточно одного х. Они же в цикле будут добавляться. Лишнее удаляй 2. Потом, для подсчета суммы у тебя есть переменная sum. Используй ее. 3. Помимо цифр в x один раз запишется слово stop, поэтому не стоит сразу же преобразовывать его в int. Надо условие выхода из цикла и преобразование в число сделать наоборот
15th May 2021, 10:29 PM
Yaroslav Vernigora
Yaroslav Vernigora - avatar
0
У меня не получаеться сделать с одним импутом , наведите пример пожалуйста , на примере кода намного понятнее как оно работает.
15th May 2021, 10:31 PM
Богдан
Богдан - avatar
0
Вот просто что после х и до у все строки смело удаляй. x принимай как строку, вместо y используй sum. Давай, сделай и покажи что получилось
15th May 2021, 10:34 PM
Yaroslav Vernigora
Yaroslav Vernigora - avatar
0
А ты в начале проверяй на stop, если верно, тогда выход, если нет тогда суммируй, но преобразовывай в число
15th May 2021, 10:43 PM
Yaroslav Vernigora
Yaroslav Vernigora - avatar
0
Логика нарушена. Представь, что первое значение будет stop и что тогда? Начнется печать суммы, суммирование... а нам уже надо выходить из цикла, т.к. stop пришел. Всегда старайся в голове прогнать хотябы один раз программу с значением. Представляй, что получится. У тебя фигня получится.
15th May 2021, 10:47 PM
Yaroslav Vernigora
Yaroslav Vernigora - avatar