Как использовать переменную, которую мы определили вне функции, внутри функции - PullRequest
0 голосов
/ 01 августа 2020

Задача этой программы - взять 20 чисел и в конце вывести число, у которого больше делителей. Он печатается с количеством делителей.

def big(gogo):
    sum = 0
    f = f+1
    for k in range(1, gogo + 1):
        if (gogo % k == 0 and f == 1):
            sum1 += 1
            big = gogo
        if (gogo % k == 0):
            sum += 1
    if (sum > sum1):
        sum1 = sum
        bigg = gogo
f=0
x = input("enter a number")
gogo = int(x)
big (gogo)
for i in range(1, 20):
    x = input("enter a number")
    gogo = int(x)
    big(gogo)
print(sum1, big)

Моя проблема: я не могу использовать f в своей функции, и для каждой из них у меня есть эта проблема, вот и все {Как использовать переменную, которую мы определили вне функции внутри функции} и программа говорит: локальная переменная 'для примеров sum1', на которую ссылаются перед назначением У меня есть эти проблемы в каждой программе, когда я использую функцию, пожалуйста, помогите мне, спасибо за все

1 Ответ

0 голосов
/ 01 августа 2020

Вам необходимо использовать ключевое слово Global для использования переменных, определенных вне функции.

sum1=bigg=0
def big(gogo):
    sum = 0
    global sum1
    global bigg
    for k in range(1, gogo + 1):
        if (gogo % k == 0):
            sum += 1
            bigg = gogo
    if (sum > sum1):
        sum1 = sum
        bigg = gogo
for i in range(1, 21):
    x = input("enter a number")
    gogo = int(x)
    big(gogo)
print(sum1, bigg)

Я считаю, что приведенный выше код удовлетворит ваше требование.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...