Skip to content

Instantly share code, notes, and snippets.

@wfwef
Created October 2, 2013 06:39
Show Gist options
  • Save wfwef/6789848 to your computer and use it in GitHub Desktop.
Save wfwef/6789848 to your computer and use it in GitHub Desktop.
help!!
# Q3.
"1 2 3 4 5 6 [7] 6 5 4 3 2 1 [0] 1 2 [3] 2 1 0 [-1] 0 1 2 3 4 [5] [4] 5 6"
def pingpong(n):
"""Return the nth element of the ping-pong sequence.
>>> pingpong(7)
7
>>> pingpong(8)
6
>>> pingpong(15)
1
>>> pingpong(21)
-1
>>> pingpong(22)
0
>>> pingpong(30)
6
>>> pingpong(68)
2
>>> pingpong(69)
1
>>> pingpong(70)
0
>>> pingpong(71)
1
>>> pingpong(72)
0
>>> pingpong(100)
2
"""
"*** YOUR CODE HERE ***"
def pingpongdir(n, direction):
if n == 1:
return 1
elif direction:
if has_seven(n) or n % 7 == 0:
return pingpongdir(n-1, False) + 1
else:
return pingpongdir(n-1, True) + 1
else:
if has_seven(n) or n % 7 == 0:
return pingpongdir(n-1, True) - 1
else:
return pingpongdir(n-1, False) - 1
return pingpongdir(n, False)
@wfwef
Copy link
Author

wfwef commented Oct 2, 2013

def has_seven(k):
"""Has a has_seven
>>> has_seven(3)
False
>>> has_seven(7)
True
>>> has_seven(2734)
True
>>> has_seven(2634)
False
>>> has_seven(734)
True
>>> has_seven(7777)
True
"""
"*** YOUR CODE HERE ***"
if k % 10 == 7:
return True
elif k // 10 == 0:
return False
else:
return has_seven(k // 10)

@arctan5x
Copy link

great code baby

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment