Форум сайта python.su
0
Приветствую,
подскажите пожалуйста как быть:
Есть функция, к примеру:
def tel():
number = str(random.randint(10000000, 99999999))
return results
func1():
print(tel())
func2():
print(tel())
Отредактировано Skilur (Июль 27, 2019 20:43:32)
Офлайн
14
как вариант создать класс примерно такой :
import random class tel: telnum = 0 def __init__(self): pass @staticmethod def tel_1(update = False): if update: tel.telnum = str(random.randint(10000000, 99999999)) return tel.telnum @staticmethod def tel_2(update = False): if update: tel.telnum = str(random.randint(10000000, 99999999)) return tel.telnum print(tel.tel_1(True) , 'update telnum') print(tel.tel_2() , 'not update telnum') print(tel.tel_1(False) , 'not update telnum') print(tel.tel_2(True) , 'update telnum') результат: 13316907 update telnum 13316907 not update telnum 13316907 not update telnum 27592331 update telnum
[code][/code]
Офлайн
0
Я конечно новичок. Но незя ли:
def tel(): number = str(random.randint(10000000, 99999999)) return results a = tel() func1(a): print(a) func2(a): print(a)
Офлайн
14
можно и так, но лучше сразу привыкать к ООП, так сэкономишь кучу времени на обучении, а судя по вопросу человек еще учится, из этих соображений я и скинул код сразу с декораторами, но в целом любая реализация состоящая из условия на обновление и переменной для хранения значения подойдет.
Отредактировано @cckyi_boxxx (Июль 27, 2019 22:44:43)
Офлайн