I am writing a program for python turtle and i want it to fill the entire screen. I am using turtle.screensize() to try and do it but i don't know my screen resolution.
This is my code:
import turtle
tur = turtle.Turtle()
tur.pensize(2)
tur.speed(5)
tur.color("blue")
def triangle():
for i in range(3): # Triangle
tur.forward(100)
tur.left(120)
def square():
for i in range(4): # Square
tur.forward(100)
tur.left(90) # 90 * 4 = 360
def pentagon():
for i in range(5): # Pentagon
tur.forward(90)
tur.left(72) # 72 * 5 = 360
def hexagon():
for i in range(6): # Hexagon
tur.forward(80)
tur.left(60) # 60 * 6 = 360
def heptagon():
for i in range(7): # Heptagon
tur.forward(75)
tur.left(51.4285714286) # 51.4285714286 * 7 = 360
def octagon():
for i in range(8): # Octagon
tur.forward(70)
tur.left(45) # 45 * 8 = 360
def nonagon():
for i in range(9): # Nonagon
tur.forward(65)
tur.left(40) # 40 * 9 = 360
def decagon():
for i in range(10): # Decagon
tur.forward(60)
tur.left(36) # 36 * 10 = 360
def hendecagon():
for i in range(11): # Hendecagon
tur.forward(55)
tur.left(32.7272727273) # 32.7272727273 * 11 = 360
def duodecagon():
for i in range(12): # Duodecagon
tur.forward(50)
tur.left(30)
def icositetragon():
for i in range(24): # Icositetragon
tur.forward(25)
tur.left(15)
def main():
print("1 = Triangle \n" + "2 = Square \n" + "3 = Pentagon \n" + "4 = Hexagon \n" + "5 = Heptagon \n" + "6 = Octagon")
print("7 = Nonagon \n" + "8 = Decagon \n" + "9 = Hendecagon \n" + "10 = Duodecagon \n" + "11 = Icositetragon")
number = input("Choose a shape number: ")
if number == "1":
triangle()
elif number == "2":
square()
elif number == "3":
pentagon()
elif number == "4":
hexagon()
elif number == "5":
heptagon()
elif number == "6":
octagon()
elif number == "7":
nonagon()
elif number == "8":
decagon()
elif number == "9":
hendecagon()
elif number == "10":
duodecagon()
elif number == "11":
icositetragon()
else:
print("Not a number or number incorrect")
return
tur.penup()
tur.forward(200)
main()
turtle.screensize()
turtle.mainloop()
Rather than screensize(), what you want is setup(), which, along with pixel sizes, accepts floating point values indication what percentage of the screen you want. In your case, this would be setup(width=1.0, height=1.0). A simple example:
from turtle import Screen, Turtle
polygons = [
(3, "Triangle"),
(4, "Square"),
(5, "Pentagon"),
(6, "Hexagon"),
]
def polygon(sides):
for _ in range(sides): # Triangle
turtle.forward(100)
turtle.left(360 / sides)
def main():
for index, (_, name) in enumerate(polygons, start=1):
print(f"{index} = {name}")
number = int(input("Choose a shape number: ")) - 1
if 0 <= number < len(polygons):
polygon(polygons[number][0])
else:
print("Number incorrect")
return
turtle.penup()
turtle.forward(200)
screen = Screen()
screen.setup(width=1.0, height=1.0)
turtle = Turtle()
turtle.pensize(2)
turtle.color('blue')
main()
screen.exitonclick()
Under Mac OSX, this doesn't appear to include the screen space taken up by the dock. But "Automatically hide and show the Dock" in Preferences can take of this.