Есть ли способ объявить два возвращаемых значения в одной функции? - PullRequest
0 голосов
/ 21 апреля 2020
Code 1:
total = 0
tot = 0

for i in range(0, 101):
    if i % 2:
        total += i
    elif i % 5:
        tot += i
print(total)
print(tot)

output:
2500
2000
Code 2:
total = 0
tot = 0
def function():
    for i in range(0, 101):
        if i % 2:
            total += i
        elif i % 5:
            tot += i
    return(total)
    return(tot)
a = function()
print(a)

output:
UnboundLocalError: local variable 'total' referenced before assignment

Я хотел поместить первый код как функцию (как я пытался в коде 2)

вопрос 1: есть ли способ использовать два возвращаемых значения в одной функции?

вопрос 2: Если нет, есть ли другой способ заставить работать код 2?

Спасибо за потраченное время!

(Извините, если моя схема задания вопроса неуместна , как я пытаюсь познакомиться с переполнением стека)

1 Ответ

0 голосов
/ 21 апреля 2020

Вы можете сделать это return total, tot. Вот пример:

total = 0
tot = 0

def function():
    global total
    global tot
    for i in range(0, 101):
        if i % 2:
            total += i
        elif i % 5:
            tot += i
    return total, tot

a = function()
print(a)

, который даст вам (2500, 2000).

...