2016-04-01 3 views
0

Я не могу заставить эту программу работать. Ошибок нет, просто я ничего не показываю, когда запускаю его. Любая помощь appreciated1Нужна помощь в поиске суммы и средних

#Return multiple values 

def load(): 
    name=input("enter a name") 
    num1=int(input("Enter num1: ")) 
    num2=int(input("Enter num2: ")) 
    num3=int(input("Enter num3: ")) 
    return name, num1, num2, num3 

def calc(num1, num2, num3): 
    sum=num1, num2, num3 
    avg=sum/3 
    return sum, avg 

def output(name, num1, num2, num3, avg, sum): 
    print("Your name is: ", name) 
    print("The 3 numbers are: ", num1, num2, num3) 
    print('The sum is: ',sum) 
    print("The average is: ", avg) 

def main(): 
    name, num1, num2, num3=load() 
    sum, avg=calc(num1, num2, num3) 
    output(name, num1, num2, num3, sum, avg) 
+2

Введите код в окне редактирования, затем выделите ее и нажмите Ctrl-K, чтобы поместить его должным образом. Таким образом вам не понадобится ссылка. – roadrunner66

ответ

1

Вы должны вызвать main() функцию, эта линия, вероятно, бросить исключение:

sum=num1, num2, num3 
avg=sum/3 

изменить его:

sum=num1 + num2 + num3 
avg=sum/3 
+0

Не используйте 'sum' как имя переменной. Он затеняет встроенную функцию. – zondo

1

Как отмечалось ранее дружеский комментатора , вы не вызывали свою основную() процедуру (см. последнюю строку). Вы также смешали последовательность sum и avg звонков в подписи output. Кроме того, sum является встроенной функцией Python. Избегайте их. Я использовал raw_input, потому что я использую Python 2.x, не позволяйте этому путать вас. Мое использование Python 2.x также является причиной дополнительных круглых скобок, которые вы увидите в моем выпуске. В целом вы были очень близки к рабочему решению, хорошая работа для начинающего!

#Return multiple values 

def load(): 
    name=raw_input("enter a name: ") 
    num1=int(raw_input("Enter num1: ")) 
    num2=int(raw_input("Enter num2: ")) 
    num3=int(raw_input("Enter num3: ")) 
    return name, num1, num2, num3 

def calc(num1, num2, num3): 
    sum1=num1+num2+num3 # sum is a python keyword 
    avg=sum1/3.0 # avoiding integer division in case you are using python 2.x 
    return sum1, avg 

def output(name, num1, num2, num3, sum1, avg): 
    print("Your name is: ", name) 
    print("The 3 numbers are: ", num1, num2, num3) 
    print('The sum is: ',sum1) 
    print("The average is: ", avg) 

def main(): 
    name, num1, num2, num3=load() 
    sum1, avg=calc(num1, num2, num3) 
    output(name, num1, num2, num3, sum1,avg) 

main() 

Выход:

enter a name: Anton 
Enter num1: 1 
Enter num2: 2 
Enter num3: 3 
('Your name is: ', 'Anton') 
('The 3 numbers are: ', 1, 2, 3) 
('The sum is: ', 6) 
('The average is: ', 2.0) 
+0

Спасибо, Зондо, исправит. – roadrunner66