Skip to content

Instantly share code, notes, and snippets.

@Brutt
Created August 22, 2016 09:51
Show Gist options
  • Save Brutt/47274dbffce877fbe9189bf0e3ed19d2 to your computer and use it in GitHub Desktop.
Save Brutt/47274dbffce877fbe9189bf0e3ed19d2 to your computer and use it in GitHub Desktop.
My version of decision of pythonchallenge №10
#http://www.pythonchallenge.com/
#challenge num_10
import re
import time
start = time.time()
def GetNextNum(num):
num1 = re.sub('[2]+', ' 0 ', num)
num1 = re.sub('[3]+', ' 0 ', num1)
num2 = re.sub('[1]+', ' 0 ', num)
num2 = re.sub('[3]+', ' 0 ', num2)
num3 = re.sub('[1]+', ' 0 ', num)
num3 = re.sub('[2]+', ' 0 ', num3)
# print(num1)
# print(num2)
# print(num3)
num1 = num1.split()
num2 = num2.split()
num3 = num3.split()
# print(num1)
# print(num2)
# print(num3)
outStr = ''
for iter in range(len(num1)):
if num1[iter] != '0':
curEl = num1[iter]
elif num2[iter] != '0':
curEl = num2[iter]
else: # num3
curEl = num3[iter]
outStr += str(len(curEl)) + curEl[0]
#print(outStr)
return outStr
Mylist = []
curVal = '1'
i = 0
while i <= 30:
i += 1
Mylist.append(curVal)
curVal = GetNextNum(curVal)
print(len(Mylist[30]))
elapsed = (time.time() - start)
print("result returned after {0} seconds." .format(elapsed))
#5808
#result returned after 0.07800412178039551 seconds.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment