Я хочу написать программу, которая вводит число в качестве входных данных, пока это входное значение не равно -1

эта программа должна находиться в цикле, пока входной сигнал не равен -1. Если входной сигнал равен -1, программа должна выполнять среднее значение входных данных. Я не могу понять, как использовать переменные и как рассчитать среднее значение.

это мой код

count = 0 
sum = 0
adad = input ('enter a number:')
for i in adad:
    print (i)
    while i != -1 :
      print (i)
      count = count + 1
      sum = sum + int(i)
print (sum / count)

но он не может показать мне те результаты, которые я хочу

ввод возвращает строку; текст. Если вам нужен номер, вам нужно преобразовать его с помощью int(...). Кроме того, если вы хотите принять несколько входных данных, input также должен находиться внутри цикла.

matszwecja 23.04.2024 17:58
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
1
85
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

с помощью цикла while вы можете продолжать непрерывно принимать пользовательский ввод до тех пор, пока -1 не будет задано, и достичь с его помощью своей цели, как показано ниже.

# your code goes here
count = 0
avg = 0
total_sum = 0
while True:
    user_input = int(input("enter a number: "))
    if user_input == -1:
        if count == 0: count = 1
        avg = total_sum / count
        break
    total_sum += user_input
    count += 1

print(f"avg is {avg}")
Ответ принят как подходящий

Надеюсь, это вам поможет.

count = 0
sum = 0
while True:
    user_input = int(input('Enter a number(-1 to end): '))
    if user_input ==  -1:
        break
    sum += user_input
    count += 1
print (sum / count)

Я инициализировал две переменные для суммы входных данных и количества входных данных. Использование концепции, аналогичной циклу do-while, который запускается и проверяет условие, является ли число -1, и если это так, то цикл while прерывается. Ввод преобразуется в целое число с помощью int(...)

Вы также можете попробовать приведенный ниже код.

input_arr = []
while True:
    user_input = int(input('Enter a number(-1 to end): '))
    if user_input ==  -1:
        break
    input_arr.append(user_input)
print (sum(input_arr) / len(input_arr))
a = 0 #loop count
b = 0 #sum
x = 0 #input
while (x!=-1):
    x = int(input("enter a number: "))
    b = b+x
    a = a+1

print((b+1)/(a-1))

Благодарим вас за вклад в сообщество Stack Overflow. Возможно, это правильный ответ, но было бы очень полезно предоставить дополнительные пояснения к вашему коду, чтобы разработчики могли понять ваши рассуждения. Это особенно полезно для новых разработчиков, которые не так хорошо знакомы с синтаксисом или пытаются понять концепции. Не могли бы вы отредактировать свой ответ, включив в него дополнительную информацию на благо сообщества?

Jeremy Caney 24.04.2024 02:22

Другие вопросы по теме

Застрял на заданном вопросе CS50 Python Week2 «Тарелки туалетного столика». Не знаю, что пошло не так в моем коде
Java Script для интернет-теста скорости HTML и JS, неправильная структура
Изменение числа в Python
В серверном приложении Blazor у меня есть бесконечный цикл while для получения данных из темы Kafka на моей странице razor.cs. Как я могу предотвратить блокировку пользовательского интерфейса?
Застревание в цикле Python while
Я пытаюсь написать простую программу, которая выбирает случайное число от 1 до 10 и дает пользователю возможность его угадать
Python – перебор вложенных словарей для заполнения списка на основе значений – объект встречи «str» не имеет атрибута «items»
Замените шаблон другим шаблоном из двух списков, используя строку while read и sed
Как я могу сделать повторение до цикла?
Переберите числа в столбце и получите номер первой строки, с которой начинается n повторений