Вопрос о ссылке на переменную, содержащую список - PullRequest
0 голосов
/ 21 января 2020

Для приведенного ниже кода я могу поместить переменную "series" вне (не говоря, что это глобальная переменная) основной функции и не получать никаких сообщений об ошибках.

Однако, когда я помещаю переменную "total" "переменная вне основной функции, я должен сказать, что это глобальная переменная для моей программы, чтобы работать правильно. Это почему? Существуют ли исключения, когда следует использовать ключевое слово global?

#Initialize the accumulator
total = 0

#Create a list
series = [0] * 10

def main ():
    global total
    #Have the user enter a number ten times
    for x in range (10):
        series [x] = number = int(input("Please enter a number:" ))
    #Every time a number is entered, it will be added to the total
        total += number

    #Return the lowest number in the list
    minimum = min (series)

#Print the lowest number
    print ("\nThe lowest value is", minimum, "\n")

#Return the highest number in the list
    maximum = max (series)

#Print the highest number
    print ("The highest value is", maximum, "\n")

#Print the total of the numbers in the list
    print ("The total of the numbers in the list is", total, "\n")

#Calculate the average of the numbers in the list
    average = total/len(series)

#Print the average
    print ("The average is", average)

main()
...