print "welcome to the average finder"
print """Insert the values you want to find the average for,
when you insert all the values type 'done'"""
values = []
def insert_values():
action = raw_input("> ")
if 'done' in action :
calculating_average()
elif action != 'done':
x = int(action)
values.append(x)
insert_values()
else:
print "please insert values then type done"
insert_values()
def calculating_average():
len = len(values)
sum = sum(values)
final = sum/len
print final
insert_values()
Цель этого скрипта: запросить у пользователя цифры, а затем позволить скрипту найти среднее число и отобразить его. Я сделал пустой список, называемый значениями, добавляю номера ввода пользователя после их превращения в целые числа.UnboundLocalError: локальная переменная 'len', на которую ссылаются до присвоения
Я продолжаю получать UnboundLocalError: локальная переменная 'len', на которую ссылается перед присваиванием ... даже думал, что я присвоил len и суммировал длину и сумму элементов в списке.
P.S. Я новичок в python, и обычно, когда я получаю сообщение об ошибке, я пытаюсь исправить это самостоятельно или исследовать его, но для этого я действительно не понимаю, почему я получаю эту ошибку ... любые идеи будут оценены!
Вы можете заменить свою вторую функцию на 'def calculation_average(): print ('{}'. Format (sum (values)/len (values))), и он избавится от этой ошибки. –