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
  WHILE LOOP NOT RETURNING USER INPUT AFTER ZerroDivisionError! HELP! ayodele_martins1 7 990 Oct-01-2023, 07:36 PM
Last Post: ayodele_martins1
  restrict user input to numerical values MCL169 2 869 Apr-08-2023, 05:40 PM
Last Post: MCL169
  user input values into list of lists tauros73 3 1,023 Dec-29-2022, 05:54 PM
Last Post: deanhystad
Information How to take url in telegram bot user input and put it as an argument in a function? askfriends 0 1,026 Dec-25-2022, 03:00 PM
Last Post: askfriends
Question Take user input and split files using 7z in python askfriends 2 1,027 Dec-11-2022, 07:39 PM
Last Post: snippsat
Sad how to validate user input from database johnconar 3 1,836 Sep-11-2022, 12:36 PM
Last Post: ndc85430
  How to split the input taken from user into a single character? mHosseinDS86 3 1,137 Aug-17-2022, 12:43 PM
Last Post: Pedroski55
  Use pexpect to send user input alisha17 0 1,826 May-10-2022, 02:44 AM
Last Post: alisha17
  WHILE Loop - constant variables NOT working with user input boundaries C0D3R 4 1,434 Apr-05-2022, 06:18 AM
Last Post: C0D3R
  Matplotlib - close multple plots with user input Positron79 0 1,696 Dec-01-2021, 05:26 PM
Last Post: Positron79

Forum Jump:

User Panel Messages

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