Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
LinkedList by User Input
#1
Hello everyone, my name is Santiago Big Grin .

I have to write a program that reads a sequence of numbers one by one and stores them in a LinkedList.

This program must meet certain conditions:

1. The input must be written by the user.

2. The last element of the input must be -1 to end the sequence (which does not belong to the linked list anymore.)

3. The inputs must be written one by one, ending with -1.

Examples:
Input: 1
3
4
7
5
6
-1
Output: 1 3 4 7 5 6

Input: -1
Output:

I have all the code already written, but I have programmed the input differently, since I do not know how to perform condition 2 and 3. If someone can help me write this last part, I would appreciate it.

Thank you very much for the help.

P.S.: There is my problem:
a_llist = LinkedList()
n = int(input('How many elements would you like to add? '))
for i in range(n):
    data = int(input('Enter data item: '))
    a_llist.append(data)
print('The linked list: ', end = '')
a_llist.display()
FULL CODE:
class Node:
    def __init__(self, data):
       self.data = data
       self.next = None
 
class LinkedList:
    def __init__(self):
        self.head = None
        self.last_node = None
 
    def append(self, data):
        if self.last_node is None:
            self.head = Node(data)
            self.last_node = self.head
        else:
            self.last_node.next = Node(data)
            self.last_node = self.last_node.next
 
    def display(self):
        current = self.head
        while current is not None:
            print(current.data, end = ' ')
            current = current.next

# There are my problem with user input:

a_llist = LinkedList()
n = int(input('How many elements would you like to add? '))
for i in range(n):
    data = int(input('Enter data item: '))
    a_llist.append(data)
print('The linked list: ', end = '')
a_llist.display()
Reply
#2
You should not be asking for how many elements. Input is supposed to end when the user enters -1. At least that is my interpretation of the instructions. Other than that it appears to work.
Reply
#3
(Mar-03-2021, 06:58 PM)deanhystad Wrote: You should not be asking for how many elements. Input is supposed to end when the user enters -1. At least that is my interpretation of the instructions. Other than that it appears to work.

Exacly, sorry for ask too many things. You are right I need to user inputs and should end when he put -1. 1as you can see I did a user input but I don't know how to write the condition.
Reply
#4
What will data be when the user enters -1? How can you use that information to break out of the input loop?
Reply
#5
(Mar-03-2021, 07:49 PM)deanhystad Wrote: What will data be when the user enters -1? How can you use that information to break out of the input loop?

The program should work as follows for inputs:

The user:

Type 3 and press enter.
Type 4 and press enter.
Type 7 and press enter.
Type -1 and press enter. The program starts and gives the following output:

3 4 7

The -1 is used to start the program and start creating the LinkedList. The program should not write -1 to the result.

My problem starts in the line #25 because I don't know how to write this part of the program.
Reply
#6
You are obviously incorrect in your assessment since the code starting at line #25 is nearly correct. You just need to figure out how to exit the loop when -1 is entered (data == -1). This is an easy problem to solve, so if you are finding it difficult it likely means you are approaching the problem the wrong way. Maybe you should do some research on different ways to end a loop.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Matplotlib - close multple plots with user input Positron79 0 71 Dec-01-2021, 05:26 PM
Last Post: Positron79
  Exit function from nested function based on user input Turtle 5 537 Oct-10-2021, 12:55 AM
Last Post: Turtle
  Unable to access the user input value given to daterangepicker klllmmm 1 825 May-26-2021, 09:16 PM
Last Post: nilamo
  Problem restricting user input in my rock paper scissors game ashergreen 6 1,446 Mar-25-2021, 03:54 AM
Last Post: deanhystad
  User input/picking from a list AnunnakiKungFu 2 901 Feb-27-2021, 12:10 AM
Last Post: BashBedlam
  Generate Random operator, take user input and validate the user mapypy 4 1,342 Feb-03-2021, 08:41 PM
Last Post: nilamo
  Loop back through loop based on user input, keeping previous changes loop made? hbkpancakes 2 1,355 Nov-21-2020, 02:35 AM
Last Post: hbkpancakes
  user input for multi-dimentional list without a prior iteration using input() Parshaw 6 1,164 Sep-22-2020, 04:46 PM
Last Post: Parshaw
  How to time a user's input Tbot1000 2 1,365 Aug-31-2020, 09:39 PM
Last Post: Larz60+
  converting user input to float troubles RecklessTechGuy 3 1,044 Aug-17-2020, 12:41 PM
Last Post: deanhystad

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020