FB logo using turtle

from turtle import *

speed(10)

color("#0270d6")

Screen().bgcolor('black')

penup()

goto(0, 150)

pendown()

begin_fill()

forward(150)

circle(-50, 90)

forward(300)

circle(-50, 90)

forward(300)

circle(-50, 90)

forward(300)

circle(-50, 90)

forward(150)

end_fill()

color("white")

penup()

goto(140, 80)

pendown()

begin_fill()

right(180)

forward(50)

circle(80, 90)

forward(50)

right(90)

forward(80)

left(90)

forward(40)

left(90)

forward(80)

right(90)

forward(160)

left(90)

forward(55)

left(90)

forward(160)

right(90)

forward(70)

left(80)

forward(45)

left(100)

forward(80)

right(90)

forward(40)

circle(-40, 90)

forward(40)

left(90)

forward(45)

end_fill()

hideturtle()

done()


Check if the characters in a string form a Palindrome in O(1) extra space

def firstPos(str, start, end):

firstChar = -1

for i in range(start, end + 1):

if (str[i] >= 'a' and str[i] <= 'z') :

firstChar = i

break

return firstChar

def lastPos(str, start, end):

lastChar = -1

for i in range(start, end - 1, -1) :

if (str[i] >= 'a' and str[i] <= 'z') :

lastChar = i

break

return lastChar

def isPalindrome(str):

firstChar = 0

lastChar = len(str) - 1

ch = True

for i in range(len(str)) :

firstChar = firstPos(str, firstChar, lastChar);

lastChar = lastPos(str, lastChar, firstChar);

if (lastChar < 0 or firstChar < 0):

break

if (str[firstChar] == str[lastChar]):

firstChar += 1

lastChar -= 1

continue

ch = False

break

return (ch)

if __name__ == "__main__":


str = "m a 343 la y a l am"

if (isPalindrome(str)):

print("YES")

else:

print("NO")