Python - Random Mandala Announcing the arrival of Valued Associate #679: Cesar Manara ...

Is "Reachable Object" really an NP-complete problem?

Irreducible of finite Krull dimension implies quasi-compact?

How do I make this wiring inside cabinet safer? (Pic)

What is this building called? (It was built in 2002)

An adverb for when you're not exaggerating

Is grep documentation wrong?

Is there any way for the UK Prime Minister to make a motion directly dependent on Government confidence?

Why aren't air breathing engines used as small first stages

Circuit to "zoom in" on mV fluctuations of a DC signal?

Is it fair for a professor to grade us on the possession of past papers?

What is the escape velocity of a neutron particle (not neutron star)

What are the out-of-universe reasons for the references to Toby Maguire-era Spider-Man in ITSV

Is there a kind of relay only consumes power when switching?

Is it a good idea to use CNN to classify 1D signal?

Would "destroying" Wurmcoil Engine prevent its tokens from being created?

How does the math work when buying airline miles?

What do you call the main part of a joke?

What does "lightly crushed" mean for cardamon pods?

How to tell that you are a giant?

Find the length x such that the two distances in the triangle are the same

Generate an RGB colour grid

Is safe to use va_start macro with this as parameter?

Do jazz musicians improvise on the parent scale in addition to the chord-scales?

Most bit efficient text communication method?



Python - Random Mandala



Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)Random walk in Python + turtlePython Trig CalculatorCatch the turtle - PythonConways game of life with turtle python 3Python Turtle - Olympic flag re-creationClipboard detector in PythonPython Pong using turtleCustom autoclick Python scriptCracking Vigenere and Caesar Ciphered Text in PythonPython 3 tkinter calculator





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}







0












$begingroup$


I did a project in Python where I combined user-input, random, and the turtle module to make a sort of "Mandala Generator", or a program that can generate a simple design either randomly or by the specifications of users. Is there any way I can shorten my code without drastically changing it?



#custom mandala project Python
import turtle
import random
import time

#is the game in progress?
drawing = False

#define turtle
pen = turtle.Turtle()
pen.setheading(90)
pen.pensize(3)
pen.speed(12)

#colors empty list
colors = []

#define variables
LINE1, LINE2 = "~" * 36, "~" * 24

#define check input function
def get_input(response, values):
#make sure the input is in the choices
while True:
value = input(response).strip().lower()
if value in values:
return value

#define main function
def main():
print(LINE1 + "nCustom Mandala Generatorn" + LINE1)
name = input("What is your name? ")
print("In this custom mandala generator, you get to choose the size and colors of your mandala, or have the computer generate a random one,", name, ".n" + LINE2)
time.sleep(1)
ready = input("Are you ready or not? ")

if ready[0].lower() == "y":
answer = get_input("Would you like to use our random generator function or our custom function? {random/custom} ", {"random", "custom"})

#universal variables
size = random.uniform(1.5, 2.5)
fd = 75 * size

if answer == "random":
colors.extend(("darkred", "red", "yellow", "darkgreen", "green", "lightgreen", "darkblue", "blue", "purple"))
#rt = right turn
rt = random.uniform(100, 300)

elif answer == "custom":
print(LINE2 + "nYou can choose any colors from this list for your Mandala: nDarkred, red, yellow, darkgreen, green, lightgreen, darkblue, blue, purple")
color1 = get_input("What is the first color? ", {"darkred", "red", "yellow", "darkgreen", "green", "lightgreen", "darkblue", "blue", "purple"})
color2 = get_input("What is the second color? ", {"darkred", "red", "yellow", "darkgreen", "green", "lightgreen", "darkblue", "blue", "purple"})
colors.extend((color1, color2))
rt = int(input("What angle would you like your Mandala to turn at? "))

#pre-draw sequence
print(LINE2 + "nInitializing...")
print("Determining features... nColor... nSize...")
time.sleep(3)
print(LINE1 + "nYour final result should be drawing as of this point!nThanks for using the generator,", name, "!")

for counter in range(50):
selection = random.choice(colors)
pen.color(selection)
pen.forward(fd)
pen.right(rt)

else:
print("Come and use the custom generator later!")


main()









share|improve this question









$endgroup$



















    0












    $begingroup$


    I did a project in Python where I combined user-input, random, and the turtle module to make a sort of "Mandala Generator", or a program that can generate a simple design either randomly or by the specifications of users. Is there any way I can shorten my code without drastically changing it?



    #custom mandala project Python
    import turtle
    import random
    import time

    #is the game in progress?
    drawing = False

    #define turtle
    pen = turtle.Turtle()
    pen.setheading(90)
    pen.pensize(3)
    pen.speed(12)

    #colors empty list
    colors = []

    #define variables
    LINE1, LINE2 = "~" * 36, "~" * 24

    #define check input function
    def get_input(response, values):
    #make sure the input is in the choices
    while True:
    value = input(response).strip().lower()
    if value in values:
    return value

    #define main function
    def main():
    print(LINE1 + "nCustom Mandala Generatorn" + LINE1)
    name = input("What is your name? ")
    print("In this custom mandala generator, you get to choose the size and colors of your mandala, or have the computer generate a random one,", name, ".n" + LINE2)
    time.sleep(1)
    ready = input("Are you ready or not? ")

    if ready[0].lower() == "y":
    answer = get_input("Would you like to use our random generator function or our custom function? {random/custom} ", {"random", "custom"})

    #universal variables
    size = random.uniform(1.5, 2.5)
    fd = 75 * size

    if answer == "random":
    colors.extend(("darkred", "red", "yellow", "darkgreen", "green", "lightgreen", "darkblue", "blue", "purple"))
    #rt = right turn
    rt = random.uniform(100, 300)

    elif answer == "custom":
    print(LINE2 + "nYou can choose any colors from this list for your Mandala: nDarkred, red, yellow, darkgreen, green, lightgreen, darkblue, blue, purple")
    color1 = get_input("What is the first color? ", {"darkred", "red", "yellow", "darkgreen", "green", "lightgreen", "darkblue", "blue", "purple"})
    color2 = get_input("What is the second color? ", {"darkred", "red", "yellow", "darkgreen", "green", "lightgreen", "darkblue", "blue", "purple"})
    colors.extend((color1, color2))
    rt = int(input("What angle would you like your Mandala to turn at? "))

    #pre-draw sequence
    print(LINE2 + "nInitializing...")
    print("Determining features... nColor... nSize...")
    time.sleep(3)
    print(LINE1 + "nYour final result should be drawing as of this point!nThanks for using the generator,", name, "!")

    for counter in range(50):
    selection = random.choice(colors)
    pen.color(selection)
    pen.forward(fd)
    pen.right(rt)

    else:
    print("Come and use the custom generator later!")


    main()









    share|improve this question









    $endgroup$















      0












      0








      0





      $begingroup$


      I did a project in Python where I combined user-input, random, and the turtle module to make a sort of "Mandala Generator", or a program that can generate a simple design either randomly or by the specifications of users. Is there any way I can shorten my code without drastically changing it?



      #custom mandala project Python
      import turtle
      import random
      import time

      #is the game in progress?
      drawing = False

      #define turtle
      pen = turtle.Turtle()
      pen.setheading(90)
      pen.pensize(3)
      pen.speed(12)

      #colors empty list
      colors = []

      #define variables
      LINE1, LINE2 = "~" * 36, "~" * 24

      #define check input function
      def get_input(response, values):
      #make sure the input is in the choices
      while True:
      value = input(response).strip().lower()
      if value in values:
      return value

      #define main function
      def main():
      print(LINE1 + "nCustom Mandala Generatorn" + LINE1)
      name = input("What is your name? ")
      print("In this custom mandala generator, you get to choose the size and colors of your mandala, or have the computer generate a random one,", name, ".n" + LINE2)
      time.sleep(1)
      ready = input("Are you ready or not? ")

      if ready[0].lower() == "y":
      answer = get_input("Would you like to use our random generator function or our custom function? {random/custom} ", {"random", "custom"})

      #universal variables
      size = random.uniform(1.5, 2.5)
      fd = 75 * size

      if answer == "random":
      colors.extend(("darkred", "red", "yellow", "darkgreen", "green", "lightgreen", "darkblue", "blue", "purple"))
      #rt = right turn
      rt = random.uniform(100, 300)

      elif answer == "custom":
      print(LINE2 + "nYou can choose any colors from this list for your Mandala: nDarkred, red, yellow, darkgreen, green, lightgreen, darkblue, blue, purple")
      color1 = get_input("What is the first color? ", {"darkred", "red", "yellow", "darkgreen", "green", "lightgreen", "darkblue", "blue", "purple"})
      color2 = get_input("What is the second color? ", {"darkred", "red", "yellow", "darkgreen", "green", "lightgreen", "darkblue", "blue", "purple"})
      colors.extend((color1, color2))
      rt = int(input("What angle would you like your Mandala to turn at? "))

      #pre-draw sequence
      print(LINE2 + "nInitializing...")
      print("Determining features... nColor... nSize...")
      time.sleep(3)
      print(LINE1 + "nYour final result should be drawing as of this point!nThanks for using the generator,", name, "!")

      for counter in range(50):
      selection = random.choice(colors)
      pen.color(selection)
      pen.forward(fd)
      pen.right(rt)

      else:
      print("Come and use the custom generator later!")


      main()









      share|improve this question









      $endgroup$




      I did a project in Python where I combined user-input, random, and the turtle module to make a sort of "Mandala Generator", or a program that can generate a simple design either randomly or by the specifications of users. Is there any way I can shorten my code without drastically changing it?



      #custom mandala project Python
      import turtle
      import random
      import time

      #is the game in progress?
      drawing = False

      #define turtle
      pen = turtle.Turtle()
      pen.setheading(90)
      pen.pensize(3)
      pen.speed(12)

      #colors empty list
      colors = []

      #define variables
      LINE1, LINE2 = "~" * 36, "~" * 24

      #define check input function
      def get_input(response, values):
      #make sure the input is in the choices
      while True:
      value = input(response).strip().lower()
      if value in values:
      return value

      #define main function
      def main():
      print(LINE1 + "nCustom Mandala Generatorn" + LINE1)
      name = input("What is your name? ")
      print("In this custom mandala generator, you get to choose the size and colors of your mandala, or have the computer generate a random one,", name, ".n" + LINE2)
      time.sleep(1)
      ready = input("Are you ready or not? ")

      if ready[0].lower() == "y":
      answer = get_input("Would you like to use our random generator function or our custom function? {random/custom} ", {"random", "custom"})

      #universal variables
      size = random.uniform(1.5, 2.5)
      fd = 75 * size

      if answer == "random":
      colors.extend(("darkred", "red", "yellow", "darkgreen", "green", "lightgreen", "darkblue", "blue", "purple"))
      #rt = right turn
      rt = random.uniform(100, 300)

      elif answer == "custom":
      print(LINE2 + "nYou can choose any colors from this list for your Mandala: nDarkred, red, yellow, darkgreen, green, lightgreen, darkblue, blue, purple")
      color1 = get_input("What is the first color? ", {"darkred", "red", "yellow", "darkgreen", "green", "lightgreen", "darkblue", "blue", "purple"})
      color2 = get_input("What is the second color? ", {"darkred", "red", "yellow", "darkgreen", "green", "lightgreen", "darkblue", "blue", "purple"})
      colors.extend((color1, color2))
      rt = int(input("What angle would you like your Mandala to turn at? "))

      #pre-draw sequence
      print(LINE2 + "nInitializing...")
      print("Determining features... nColor... nSize...")
      time.sleep(3)
      print(LINE1 + "nYour final result should be drawing as of this point!nThanks for using the generator,", name, "!")

      for counter in range(50):
      selection = random.choice(colors)
      pen.color(selection)
      pen.forward(fd)
      pen.right(rt)

      else:
      print("Come and use the custom generator later!")


      main()






      python python-3.x tkinter turtle-graphics






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 10 mins ago









      MattthecommieMattthecommie

      17627




      17627






















          0






          active

          oldest

          votes












          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "196"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f217644%2fpython-random-mandala%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes
















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Code Review Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          Use MathJax to format equations. MathJax reference.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f217644%2fpython-random-mandala%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          is 'sed' thread safeWhat should someone know about using Python scripts in the shell?Nexenta bash script uses...

          How do i solve the “ No module named 'mlxtend' ” issue on Jupyter?

          Pilgersdorf Inhaltsverzeichnis Geografie | Geschichte | Bevölkerungsentwicklung | Politik | Kultur...