Как найти средние? - PullRequest
       7

Как найти средние?

0 голосов
/ 01 ноября 2018

Я пытаюсь создать программу для поиска среднего значения с помощью набора чисел. Это работает в данный момент, но мне было интересно, есть ли способ сделать это проще или чище. Это довольно грязно и плохо. Могу ли я в любом случае использовать петли или что-нибудь еще, чтобы было легче?

NON = raw_input("How many numbers are there? ")
NON = int(NON)

if NON == 2:
    n1 = raw_input("First Number: ")
    n1 = int(n1)
    n2 = raw_input("Second Number: ")
    n2 = int(n2)
    mean = (n1 + n2)/2
    print mean
    print mean

После этого все продолжается, вплоть до 15. Я просто сделал это вручную.

Ответы [ 4 ]

0 голосов
/ 01 ноября 2018

Попробуйте сохранить введенные пользователем данные в массив, а затем выполните следующее:

sum = 0
list = [11,22,33,44,55,66,77]
for num in list:
    sum = sum +num
average  = sum / len(list)
print ("Average of list element is ", average )
0 голосов
/ 01 ноября 2018

Вы можете просто написать это так, чтобы пользователь мог просто бесконечно вводить числа:

numbers = []
while True:
    numbers.append(int(raw_input("What is the next number?")))
    done = raw_input("Are you done? (Y/N) ")
    if done.lower() == "y":
        break
print("The average is {}".format(sum(numbers)/len(numbers)))
0 голосов
/ 01 ноября 2018

Обычный способ справиться с этим - for() loop

NON = raw_input("How many numbers are there? ")
NON = int(NON)
sum = 0
for i in range(NON):
    number = raw_input("Enter Number #"+str(i)+": ")
    number = int(number)
    sum += number
average = sum / NON
print("Average is: "+str(average))
0 голосов
/ 01 ноября 2018

Попробуйте функцию. Функция сгруппирует коды и может использоваться для многократного вызова.

Пример

def average(number1, number2):
    return (int(number1) + int(number2)) / 2


NON = raw_input("How many numbers are there? ")
NON = int(NON)

    if NON == 2:
        n1 = raw_input("First Number: ")
        n2 = raw_input("Second Number: ")
        print average(n1,n2)
...