You can first shuffle the list of chores
to ensure the order is random, and then pop
elements from this list one by one (therefore returning them, while also dropping them from the list reference). For example:
import random
names = ['Gio', 'Dano', 'Gian']
chores = [ 'Dookies', 'Restroom', 'Floor']
random.shuffle(chores) # this shuffles inplace, so no need to reassign
for name in names:
chore = chores.pop() # returns the last element of the chores
phrase = name + ' ' + chore +' '
print (phrase)
This will effectively assign every one of your names
(people) to a chore in the list of chores. It's useful because you can also have duplicate chores (for example you need 2 people to do the "Floor"), and that can be reflected in your list from which you pop()
.