+ 1
Trying to solve for the middle number in a list
I'm on exersize 25.3 "The Middle Element" and the following code works in my Python IDE but not in the app... items = [2, 4, 6, 8, 10, 12, 14] print(items[len(items) // 2])
5 Answers
+ 2
Hi Kevin!
As mentioned above, we don't see any error in your code. But, please double check whether they're asking you to print the middle element or its index. If its index, print(len(items)//2) will do the job.
+ 1
It works for me in the app (output 8). What did you get as output? error message or just 'No output'
# odd sized iterable
odd_sized = [ 2021, 11, 4 ]
iter_len = len( odd_sized ) // 2
print( f"{odd_sized} -> {odd_sized[ iter_len ]}" )
# even sized iterable
even_sized = [ 12, 5, 48, 376 ]
iter_len = len( even_sized ) // 2 - 1
print( f"{even_sized} -> {even_sized[ iter_len : iter_len + 2 ]}" ) # even length iterable
P S. Please tag a relevant language next time
https://code.sololearn.com/W3uiji9X28C1/?ref=app
+ 1
Solved it. It wanted to specify the index of the middle number not the actual value -_-
+ 1
I realize that when len is not even and as the index is 0 based the len//2 is ok..so for your example is ok. But when is len is even...what value to to choice...lenx//2 or lenx//2-1..
0
But what happen when the len of the list is not even, for example 3, the result considering the code above give the first element insted of the second one.. I would use // and %2..