Простая задача Python
есть такая задача:
- Напишите программу, которая будет принимать числа от пользователя и суммировать их, пока он не напишет слово «sum».
- Когда пользователь напишет слово «sum», должна быть выведена сумма всех чисел и начат процесс заново.
- Если пользователь напишет «exit» или «quit», программа должна быть завершена.
нашел решение через гугл. вроде не сложная задача но есть непонятные моменты для меня можете разъяснить в виде комментариев к строчкам кода(что понимаю сам от комментил). Правильно ли я выставил комментарии?
sum1 = 0 # Задаем значение переменной sum1
while True: # Начало цикла
value = input('Введите число: ') # Создаем переменную value которая просит ввести число
if value == "sum": # Если ввести слово sum то он
print("Общая сумма: ", sum1) # выведет общую сумму введенных значений
sum1 = 0
continue # Переход в начало цикла
elif value == "exit" or value == "quit":
break
sum1 += int(value)
Ответы (2 шт):
Автор решения: Станислав Енягин
→ Ссылка
summa = 0
while True:
o = input()
if o.isdigit():
summa += int(o)
if o == 'exit' or o == 'quit':
break
elif o == 'sum':
print(summa)
summa = 0
Я Вам помог??
Автор решения: Tehnorobot
→ Ссылка
Правильно ли я выставил комментарии?
Да, ваши комментарии сделаны вами верно. Также я бы вам сделал некоторое дополнение:
- Я бы не рекомендовал писать 'while True:', так как в более сложных кодах, где конструкция будет запутанней, лучше использовать 'флаг', то есть делать проверку на положении флага. Например:
sum1 = 0 # Задаем значение переменной sum1
flag = True
while flag: # Начало цикла
value = input('Введите число: ') # Создаем переменную value которая просит ввести число
if value == "sum": # Если ввести слово sum то он
print("Общая сумма: ", sum1) # выведет общую сумму введенных значений
sum1 = 0
continue # Переход в начало цикла
elif value == "exit" or value == "quit":
flag = False
if flag:
sum1 += int(value)
На данном примере может не очень видна разница, но, если у вас будут вложенные циклы, то с 'флагом' будет удобнее и понятней.