Hello and welcome duplicative Atux, >i am new to the area and i am struggling with a small project that i have. >i need some help please.
New to Python, perhaps. New to programming, as well? >i need to create a program that runs constantly unless the user >presses q to end it. This is a good way to learn how to handle loops which can handle various conditions. I mention below a module called cmd, which ships as a part of the Python library, but it may be good to understand first how to handle the looping constructs before you move on to the cmd module. Consider a loop like you indicated: >while True: > if input("\n\n\nType a number to add it to the queue or q to exit: ") == > 'q': > break There are quite a few valuable lessons in this simple task. * consider the what kind of data you are asking for; is it an integer, a string or a floating point value? Alan mentioned that in his message * be careful with the kind of data your user is entering, but it also teaches you the value of knowing what the data type is (an important lesson in most programming languages) * how do you loop successfully and how do you break out of the loop; you'll want to know about 'break' and you might find 'continue' useful, as well ------------------------------- # -- Python3 queue = list() status = '' instructions = "\n\nAdd a number to the queue or q to exit: " while True: # -- convert the string inputs to int(), float() or whatever type you want # the program to operate on # response = input(status + instructions) response = response.lower() # -- lower case the string if response == 'q': break # try: number = int(response) # -- or float(response) except ValueError: status = "Ignoring non-integer input: " + response continue queue.append(response) status = "queue = " + str(queue) ------------------------------- >the program asks the user for a number and puts the number in a >queue, then it prints the queue with the new element at the end.if >the number is with 01,02 then it will be added at the left hand >side without the 0 at the beginning, otherwise at the right hand >side. Steven has demonstrated how you could use the list() data structure to do what you describe. Note that Python comes with additional data structures and what you describe is known in Python as a deque. It's a bit less common of a data structure, so you could benefit from learning how to perform the prepend and append operations like Steven has suggested. If you haven't noticed that you can run the Python interpreter directly, you may find this helpful simply to play with the data structures. You can use a list() as you can see in the core documentation (and as Stephen mentioned), however, even in the main documentation is a pointer to the collections.deque, which is a more specific sort of data structure geared for exactly the use case you present. Important note; If humans are interacting with this, though, it's unlikely that any of the efficiency gains of a deque over a list are necessary, but here are links to the documentation: https://docs.python.org/3/tutorial/datastructures.html#using-lists-as-queues https://docs.python.org/3/library/collections.html#collections.deque >the user can remove an item from the end of the queue by typing r. >if the user types '0r' it will be removed from the beginning of the >queue. Once you have the addition of items to the queue and the looping worked out to your satisfaction, maybe you could share your progress and there might be somebody to provide a bit more help on the next step of your learning >but i a stuck on how to continue asking and adding to the list Good luck, -Martin -- Martin A. Brown http://linux-ip.net/ _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor