Posts: 7
Threads: 2
Joined: Jan 2018
So I am practicing the following
Quote:Given two arrays of size N1 and N2 respectively, the task is to calculate the product of max element of first array and min element of second array.
https://practice.geeksforgeeks.org/probl...n-second/0
I was writing this program and got hung up on an error...
Quote:Traceback (most recent call last):
File "C:\Users\groundZero Admin\Documents\Python\arrayPracetice1.py", line 22, in <module>
y = A[i]
IndexError: list index out of range
#Given two arrays of size N1 and N2 respectively, the task is to
#calculate the product of max element of first array and min
#element of second array.
#
#
A = [1, 50, 2, 7, 3, 8]
B = [1, 50, 2, 7, 3, 8, 75, 77, 0]
listALength = len(A)
listBLength = len(B)
#These print functions were used to test the len function on arrays during
#this study session. They're now commented out to make them inactive.
#print(listALength)
#print(listBLength)
#Take the length of the array - 1 to increment the list via a loop
x = A[0]
for i in A:
y = A[i]
if y > x:
x = y
print(x) Please help me! Thank you!
Posts: 1,150
Threads: 42
Joined: Sep 2016
Jan-19-2018, 06:35 AM
(This post was last modified: Jan-19-2018, 06:35 AM by j.crater.)
The "i" in your line for i in A: is not an index as you have probably expected. It is the element of A accessed in a single iteration of for loop. Try this:
for i in A:
print(i) For getting indexes you can use enumerate . Here is an example:
my_list = ['one', 'two', 'three']
for i, number in enumerate(my_list):
print(i, number) As a side note, you may want to get yourself familiar with min() and max() Python functions.
Also, array in Python is called list, if you care about avoiding "foul language" ;P
Posts: 7
Threads: 2
Joined: Jan 2018
Jan-19-2018, 06:53 AM
(This post was last modified: Jan-19-2018, 06:53 AM by Thethispointer.)
Awesome, awesome, awesome!  Thank you!
Here is the functional code, now let's add min() and max()... or maybe tomorrow morning as it's getting pretty late here in the Midwest.
#Given two Lists of size N1 and N2 respectively, the task is to
#calculate the product of max element of first List and min
#element of second List.
A = [1, 50, 2, 7, 3, 8]
B = [1, 50, 2, 7, 3, 8, 75, 77, 0]
listALength = len(A)
listBLength = len(B)
x = A[0]
for i, number in enumerate(A):
y = A[i]
if y > x:
x = y
print(x)
Okay, with min() and max().
#Given two Lists of size N1 and N2 respectively, the task is to
#calculate the product of max element of first List and min
#element of second List.
A = [1, 50, 2, 7, 3, 8]
B = [1, 50, 2, 7, 3, 8, 75, 77, 0]
print(min(B) + max(A))
Posts: 1,150
Threads: 42
Joined: Sep 2016
Code looks much nicer/shorter. Except the task ultimately requires a product, not sum of those elements, if I understood right =)
Posts: 7
Threads: 2
Joined: Jan 2018
(Jan-19-2018, 07:08 AM)j.crater Wrote: Code looks much nicer/shorter. Except the task ultimately requires a product, not sum of those elements, if I understood right =)
Yes indeed you are correct! I guess I should read more carefully! Thank you again for your help, I will definitely post some more code onto the forum when I find another issue I am hung up on!
Posts: 1,150
Threads: 42
Joined: Sep 2016
Jan-19-2018, 04:44 PM
(This post was last modified: Jan-19-2018, 04:45 PM by j.crater.)
No problem, we are glad to help! =)
Beside posting when you hit an obstacle, feel free to also post in Completed Scripts/Snippets subforum, if you would like to share your working code and get some feedback for improvement ;)
Posts: 12,025
Threads: 484
Joined: Sep 2016
Quote:Given two arrays of size N1 and N2 respectively, the task is to calculate the product of max element of first array and min element of second array.
>>> A = [1, 50, 2, 7, 3, 8]
>>> B = [1, 50, 2, 7, 3, 8, 75, 77, 0]
>>> max(A) * min(B)
0
>>>
Posts: 1,150
Threads: 42
Joined: Sep 2016
I guess that is alright. Example on the link Thethispointer provided even has a negative number in B list. So result can end up negative as well.
Posts: 12,025
Threads: 484
Joined: Sep 2016
>>> B = [1, 50, 2, 7, 3, 8, 75, 77, 0, -5]
>>> max(A) * min(B)
-250
>>>
Posts: 7
Threads: 2
Joined: Jan 2018
(Jan-19-2018, 04:44 PM)j.crater Wrote: No problem, we are glad to help! =)
Beside posting when you hit an obstacle, feel free to also post in Completed Scripts/Snippets subforum, if you would like to share your working code and get some feedback for improvement ;) Yeah, I will do this!
(Jan-19-2018, 05:23 PM)Larz60+ Wrote: Quote:Given two arrays of size N1 and N2 respectively, the task is to calculate the product of max element of first array and min element of second array.
>>> A = [1, 50, 2, 7, 3, 8]
>>> B = [1, 50, 2, 7, 3, 8, 75, 77, 0]
>>> max(A) * min(B)
0
>>> Thank you! This is accurate
|