Python Forum
List Overlap Trouble - Printable Version

+- Python Forum (https://python-forum.io)
+-- Forum: Python Coding (https://python-forum.io/forum-7.html)
+--- Forum: Homework (https://python-forum.io/forum-9.html)
+--- Thread: List Overlap Trouble (/thread-16862.html)



List Overlap Trouble - erfanakbari1 - Mar-18-2019

Hey Guys!
I am given an exercise to solve . Its about list overlap and random generating of lists and to return a list that contains only the elements that are common between the lists .
I am done with this part and I succeeded in it . but about this extra part : Randomly generate two lists to test this , I have tried many ways doing this but unfortunately I stuck into trouble .
import random


def RAND(start, finish, num):
    third_list = []

    for c in range(num):
        third_list.append(random.randint(start, finish))

    return third_list


num = 5
start = 1
finish = 50
print(RAND(start, finish, num))


def RAND2(strt, fin, n):
    fourth_list = []

    for m in range(n):
        fourth_list.append(random.randint(strt, fin))
    return fourth_list


n = 4
strt = 0
fin = 10
print(RAND2(strt, fin, n))

for char in third_list:
    for char2 in fourth_list:
        if char == char2:
            print('This value ** {0} ** of random lists are the same ! '.format(char))

This is my code which includes two random lists and a for loop for taking same elements in both of them .
But at line 32 and 33 I got an error while defining name of random lists which I defined earlier .
So , I hope that you can help me get along with this code finally .
Thanks


RE: List Overlap Trouble - ichabod801 - Mar-18-2019

You need to assign the return value of a function in the module scope if you want to use it there:

third_list = RAND(start, finish, num)
print(third_list)
It looks like your two rand functions are pretty much the same, except for the confusion about how names work (names created in the function are only available in the function). So you could just do this:

third_list = RAND(start, finish, num)
fourth_list = RAND(start, finish, num)