Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lecture "Organising information: ordered structures", exercise 3 #14

Open
essepuntato opened this issue Nov 23, 2018 · 18 comments
Open
Labels
Exercise The exercises that are introduced in the lectures.

Comments

@essepuntato
Copy link
Contributor

Consider to have a queue obtained by processing, one by one, the elements included in the list of the first exercise, i.e. my_queue = deque(["Draco", "Harry", "Hermione", "Ron", "Severus"]). Describe the status of my_queue after the execution of each of the following operations: my_queue.popleft(), my_queue.append("Voldemort"), my_queue.popleft().

@essepuntato essepuntato added the Exercise The exercises that are introduced in the lectures. label Nov 23, 2018
@hizclick
Copy link

hizclick commented Nov 23, 2018

'''
my_queue.popleft(): removes "Draco" from the queue.
my_queue.append("Voldemort"): add "Voldemort" to the last index of the queue.
my_queue.popleft(): removes "Harry" from the queue.

finally printing my_queue will look like
deque(["Hermione", "Ron", "Severus","Voldemort"])
'''

@delfimpandiani
Copy link

my_queue = deque(["Draco", "Harry", "Hermione", "Ron", "Severus"])
# currently my_queue contains five elements:
# deque(["Draco", "Harry", "Hermione", "Ron", "Severus"])

print(my_queue) # check my queue looks right

my_queue.popleft() # this removes the first element added
# currently my_queue contains four elements:
# deque(["Harry", "Hermione", "Ron", "Severus"])

my_queue.append("Voldemort") # this adds a new element to the queue
# currently my_queue contains five elements:
# deque(["Harry", "Hermione", "Ron", "Severus", "Voldemort"])

my_queue.popleft() # this removes the first element added
# currently my_queue contains four elements:
# deque(["Hermione", "Ron", "Severus", "Voldemort"])

@mchiaraf
Copy link

my_queue = dueue(["Draco", "Harry", "Hermione", "Ron", "Severus"]) contains five elements

  1. my_queue.popleft() removes the first element from the left, in this case "Draco"
    at the moment my_queue is composed by: deque(["Harry", "Hermione", "Ron", "Severus"])

  2. my_queue.append("Voldemort") adds the chosen element, in this case "Voldemord", in the queue
    at the moment my_queue is composed by: deque(["Harry", "Hermione", "Ron", "Severus", "Voldemord"])

  3. my_queue.popleft() removes the first element from the left, in this case "Harry"
    at the moment my_queue is composed by: deque(["Hermione", "Ron", "Severus", "Voldemord"])

Finally my_queue contains four elements: "Hermione", "Ron", "Severus", "Voldemord".

@bluebell94
Copy link

my_queue = deque(["Draco", "Harry", "Hermione", "Ron", "Severus"])- initial state of the queue

By executing my_queue.popleft() - we remove "Draco" from the queue, rule of the queue FIFO - current state of the queue ["Harry", "Hermione", "Ron", "Severus"])

By my_queue.append("Voldemort") - we add "Voldemort" at the back of the queue, and now it looks like this -current state of the queue -["Harry", "Hermione", "Ron", "Severus", Voldemort"]

Next we execute once again my_queue.popleft() - we remove the 1st element on the left side, which in this case is "Harry"

So the final look of the queue should be ["Hermione", "Ron", "Severus", Voldemort"]

@ilsamoano
Copy link

ilsamoano commented Nov 23, 2018

#Consider to have a queue obtained by processing, one by one, 
#the elements included in the list of the first exercise,
# i.e. my_queue = deque(["Draco", "Harry", "Hermione", "Ron", "Severus"]). 
#Describe the status of my_queue after the execution of each of the following operations: 
#my_queue.popleft(), my_queue.append("Voldemort"), my_queue.popleft().

from collections import deque

Grinwald_queue = deque(["Draco", "Harry", "Hermione", "Ron", "Severus"])

Grinwald_queue.popleft() 
#this operation modifies the queue "Grinwald_queue" removing the first element "Draco"
#currently "Grinwald_queue" contains four elements:
# deque(["Harry", "Hermione", "Ron", "Severus"])

Grinwald_queue.append("Voldemort") 
#this operation modifies the queue "Grinwald_queue" adding the new element "Voldemort"
#currently "Grinwald_queue" contains five elements:
# deque(["Harry", "Hermione", "Ron", "Severus","Voldemort"])

Grinwald_queue.popleft()
#this operation modifies the queue "Grinwald_queue" removing the first element "Draco"
#currently "Grinwald_queue" contains four elements:
# deque(["Hermione", "Ron", "Severus","Voldemort"])

print (Grinwald_queue)

deque(['Hermione', 'Ron', 'Severus', 'Voldemort'])

@simayguzel
Copy link


my_queue = deque ( ["Draco", "Harry", "Hermione", "Ron", "Severus"] )
my_queue.popleft( )
```      #'Draco' is extracted from my_queue because the element on the left is supposed to be removed first.

print (my_queue)
deque ( ['Harry', 'Hermione', 'Ron', 'Severus'])

my_queue.append("Voldemort")
print (my_queue)
deque ( ['Harry', 'Hermione', 'Ron', 'Severus', 'Voldemort']) 

# 'Voldemort' is added at the end on the right.

my_queue.popleft( )
#'Harry' is extracted from my_queue because the element on the left is supposed to be removed first.

print (my_queue)
deque ( ['Hermione', 'Ron', 'Severus', 'Voldemort'] )

So; after the execution of each of the following operations, my_queue is ( ['Hermione', 'Ron', 'Severus', 'Voldemort'] ) .

@DavideApolloni
Copy link

my_queue=deque(["Draco", "Harry", "Hermione", "Ron", "Severus"])

my_queue.popleft()
my_queue=deque(["Harry", "Hermione", "Ron", "Severus"])

my_queue.append("Voldemort")
my_queue=deque(["Harry", "Hermione", "Ron", "Severus", "Voldemort"])

my_queue.popleft()
my_queue=deque(["Hermione", "Ron", "Severus", "Voldemort"])

@SeverinJB
Copy link

SeverinJB commented Nov 24, 2018

1 from collections import deque
2 harry_potter_und_ein_stein = deque(["Draco","Harry","Hermione","Ron","Severus"])
3 harry_potter_und_ein_stein.popleft()
4 harry_potter_und_ein_stein.append("Voldemort")
5 harry_potter_und_ein_stein.popleft()

In line 3, "Draco" is removed from the queue. The queue now contains "Harry", "Hermione", "Ron", and "Severus".
In line 4, "Voldemort" is added to the queue on the right. The queue now contains "Harry", "Hermione", "Ron", "Severus", and "Voldemort".
In line 5, "Harry" is removed from the queue. The queue now contains "Hermione", "Ron", "Severus", and "Voldemort".

@MattiaSpadoni
Copy link

my_queue = deque(["Draco", "Harry", "Hermione", "Ron", "Severus"])

  • my_queue.popleft
    my_deque("Harry", "Hermione", "Ron", "Severus") #delete the first element of the stack, in this case
    "Draco"
  • my_queue.append("Voldemort")
    my_queue("Harry", "Hermione", "Ron", "Severus", "Voldemort") #add a new element at the end of the
    queue
  • my_queue.leftpop()
    my_queue("Hermione", "Ron", "Severus", "Voldemort") #remove the first left item, according to the
    FIFO rule.

@friendlynihilist
Copy link

from collections import deque
#import deque from module collections as before
potter_stack = deque(["Draco", "Harry", "Hermione", "Ron", "Severus"])
#my queue has five strings, "Draco", "Harry", "Hermione", "Ron", "Severus"
potter_stack.popleft()
#the first element from the left ("Draco") has been removed from the queue
potter_stack.append("Voldemort")
#"Voldemort" has been added as the rightmost element (after "Severus")
potter_stack.popleft()
#the first element from the left ("Harry") has been removed from the queue, leaving, in order, "Hermione", "Ron", "Severus" and "Voldemort"
print(potter_stack)

@Totaro1996
Copy link

my_queue=deque(["Draco", "Harry", "Hermione", "Ron", "Severus"])

my_queue.popleft() #it removes the first inserted element
#output my_queue (["Harry", "Hermione", "Ron", "Severus"])
my_queue.append("Voldemort") #it adds one element at the end of the queue
#output my_queue
(["Harry","Hermione","Ron","Severus","Voldemort"])
my_queue.popleft() #it removes the left-most element of the queue
#my_queue became (["Hermione","Ron", "Severus","Voldemort"])

@federicabologna
Copy link

harry_potter_queue = deque(["Draco", "Harry", "Hermione", "Ron", "Severus"])
#creates stack
harry_potter_queue.popleft()
#takes "Draco" out since it is the first element of the queue
harry_potter_queue.append("Voldemort")
#adds "Voldemort" to the right of the queue
harry_potter_queue.popleft()
#takes "Harry" out
Thus: 'Hermione', 'Ron', 'Severus', 'Voldemort'

from collections import deque

harry_potter_stack = deque(["Draco", "Harry", "Hermione", "Ron", "Severus"])
harry_potter_stack.popleft()
harry_potter_stack.append("Voldemort")
harry_potter_stack.popleft()
print(harry_potter_stack)

deque(['Hermione', 'Ron', 'Severus', 'Voldemort'])

@saraarmaroli
Copy link

saraarmaroli commented Nov 25, 2018

my_queue = deque(["Draco", "Harry", "Hermione", "Ron", "Severus"])

my_queue.popleft () # Draco is remove, because in this case the first it’s the first out
my_queue = deque([ "Harry", "Hermione", "Ron", "Severus"])

My_queque.append (“Voldemort”) #add Voldermort at the end of the queue
my_queue = deque([ "Harry", "Hermione", "Ron", "Severus", “Voldemort”])

my_queue.popleft () # Harry is remove, because in this case the first it’s the first out
my_queue = deque( "Hermione", "Ron", "Severus", “Voldemort”])

@VittoriaMoccia
Copy link

VittoriaMoccia commented Nov 25, 2018

Consider to have a queue obtained by processing, one by one, the elements included in the list of the first exercise, i.e. my_queue = deque(["Draco", "Harry", "Hermione", "Ron", "Severus"]). Describe the status of my_queue after the execution of each of the following operations: my_queue.popleft(), my_queue.append("Voldemort"), my_queue.popleft().

Let's first create the queue:

my_queue = deque()
my_queue.append("Draco")
my_queue.append("Harry")
my_queue.append("Hermione")
my_queue.append("Ron")
my_queue.append("Severus")

print(my_queue)

Result: ['Draco', 'Harry', 'Hermione', 'Ron', 'Severus']

Since in a queue, the first element added is even the first that is deleted (FIFO strategy):
my_queue.popleft() --> this operation would remove "Draco", because it was the first element added
my_queue.append("Voldemort") --> this operation would add "Voldemort" as the last item on the right
my_queue.popleft () --> this operation would remove "Harry", which was the second element added after "Draco", so the first element still present in the queue

@lisasiurina
Copy link

my_queue = deque(["Draco", "Harry", "Hermione", "Ron", "Severus"])

my_queue.popleft()
#it removes the first element added which is Draco

my_queue.append("Voldemort")
#it adds a name in this case Voldemort

my_queue.popleft()
#it removes the first element added which is Harry

Output would be [“Hermione", "Ron", "Severus", Voldemort"]

@MilenaCorbellini
Copy link

characters_queue = deque()
characters_queue.append("Draco")
characters_queue.append("Harry")
characters_queue.append("Hermione")
characters_queue.append("Ron")
characters_queue.append("Severus")
characters_queue.popleft()
characters_queue.append("Voldemort")
characters_queue.popleft()
print(characters_queue)
The first operation (characters_queue.popleft()) cancelled the first element added in the queue ("Draco").
The opertion characters_queue.append("Voldemort") added the string "Voldemort".
The last operation (characters_queue.popleft()) cancelled the first element in the queue ("Harry").

@tceron
Copy link

tceron commented Nov 27, 2018

my_hp_queue = deque()
my_hp_queue.append("Draco")
my_hp_queue.append("Harry")
my_hp_queue.append("Hermione")
my_hp_queue.append("Ron")
my_hp_queue.append("Severus")

print (my_hp_queue)

Output ["Draco", "Harry", "Hermione", "Ron", "Severus"]

my_hp_queue.popleft() # removes the first element added
my_hp_queue = deque ("Harry", "Hermione", "Ron", "Severus")
my_hp_queue.append(Voldemort) # adds Voldemort to the queue
my_hp_queue = deque ("Harry", "Hermione", "Ron", "Severus", "Voldemort")
my_hp_queue.popleft() # removes the first element added

print (my_hp_queue)

Output [ "Hermione", "Ron", "Severus", "Voldemort"]

@andreamust
Copy link

from collections import deque
my_queue = deque(["Draco", "Harry", "Hermione", "Ron", "Severus"])
print(my_queue) # creates a queue containing 5 elements

my_queue.popleft()
print(my_queue) # deletes the first element of the queue "Draco"

my_queue.append("Voldemort")
print(my_queue) # adds a new element "Voldemord" at the end of the queue

my_queue.popleft()
print(my_queue) # deletes the first element of the queue "Harry"

Here the results obtained after every 'print' stage:

deque(['Draco', 'Harry', 'Hermione', 'Ron', 'Severus'])
deque(['Harry', 'Hermione', 'Ron', 'Severus'])
deque(['Harry', 'Hermione', 'Ron', 'Severus', 'Voldemort'])
deque(['Hermione', 'Ron', 'Severus', 'Voldemort'])

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Exercise The exercises that are introduced in the lectures.
Projects
None yet
Development

No branches or pull requests