This "digit" thing calls for a string approach, not a numeric one (reminds me of some Project Euler puzzles).
I'd create a set
out of the digits of your number first (removing duplicates at the same time)
s = set(str(4059304593))
then to check for a digit:
print('2' in s)
(note that in
for a set
is performant)
then, to check whether s
contains all the 013456789
digits:
print(s.issuperset("013456789"))
(if this must be done multiple times, it may be worth to create a set
with the string, issuperset
will work faster)
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…