Advertisement
Guest User

Untitled

a guest
Jul 28th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. def R(L1, L2):
  2. if len(L1)!=len(L2):
  3. return False
  4. ratio = []
  5. for i in range(len(L1)):
  6. if L1[i] == 0:
  7. if L2[i] != 0:
  8. return False
  9. else:
  10. ratio.append(L1[i]*1.0/L2[i])
  11. #---------------
  12. if len(ratio) == 0 or len(ratio) == 1:
  13. return True
  14. for i in range(1, len(ratio)):
  15. if ratio[i] != ratio[0]:
  16. return False
  17. return True
  18.  
  19.  
  20. def is_self_similar(L):
  21. for i in range(2, len(L)):
  22. if len(L)%i == 0 and len(L)%2 == i%2:
  23. L_mid = []
  24. L_part = []
  25. for j in range(len(L)/i):
  26. SUM = 0
  27. for k in range(i):
  28. SUM += L[i*j+k]
  29. L_part.append(SUM)
  30. a = len(L)/i
  31. if len(L)%2 == 1:
  32. for j in range((len(L)/2)-(a-1)/2, (len(L)/2)+(a+1)/2):
  33. L_mid.append(L[j])
  34. else:
  35. for j in range(int((len(L)/2 -0.5)-(a-1)/2), int((len(L)/2 -0.5)+(a+3)/2)):
  36. L_mid.append(L[j])
  37. if R(L_mid, L_part):
  38. return True
  39. return False
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement