Для приведенного ниже кода я могу поместить переменную "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()