# Advanced Python List Exercises

## Contents

### Random Number List

```# create an empty list name myList
# using a loop, generate 10 random numbers that range from 0 - 1000 (HINT: look at your Guessing Game code to generate a random number
# use the myList.append() function to add the data to a list
# in your loop, after you generate a random number, add it to the list
# print the list and display all the random numbers
# using another loop, calculate the sum of the list of random numbers
# calculate the average of the list of random numbers
```

### List Search

```# Generate a list of 100 random numbers (you choose the range)

# Print out the list

# Initialize a variable named found to be False (found=False)

# Prompt the user for a number to search for

# Using a loop, iterate through (traverse) the list of numbers

# Use an if statement in the loop to check if the current list element
# matches the number you are searching for. If there is a match,
# use the found variable to remember that your number was found
# by setting it to True, and then break out of the loop.

# Outside and after the loop, if the number was found (check if your found variable is True),
# then print that it was found, otherwise print that it was not found
```

### List Min/Max

```# Generate a list of 100 random numbers

# Create a variable named minNum and store the first element of your list

# Initialize a counter variable x to the value 0
# Using a loop, iterate through the list to find the minimum

# Inside the loop, if the current element at location x (myList[x]) is less than minNum, then
# store the current element (myList[x]) into minNum

# After the loop, print out minNum

# Now, recreate the above and find the maximum number
```

### List Reverse

```# 1) Create an empty list named randomNumbers
# 2) Add 10 random numbers to the list
# 3) Create a copy of the list by cloning it. Hint: Google it
# Name the copied list myNewList
# 4) Write a loop that traverses (travels through) half of myNewList. HINT: len(myNewList)/2
# 5) Inside your loop, swap the current element with its corresponding end element
#    (e.g. the first element is swapped with the last element, and the second element is swapped with the second to last element)
#    temp = myNewList[a]
#    myNewList[a] = myNewList[b]
#    myNewList[b] = temp
# 6) Print randomNumbers and myNewList. They should be in reverse order
```

### List Surprise (optional challenge)

```# 1) Create an empty list named myNumbers
# 2) Add 10 random numbers to the list
# 3) Print myNumbers
# 4) Create an empty list named myNewList
# 5) Write a loop that traverses through myNumbers and finds the LOCATION of the minimum number.
#    After you find the min, add it to myNewList and delete it from myNumbers.
# 6) Repeat step 5 while myNumbers size is greater than 0
# 7) Print myNewList

# Surprise! What does this program do?!

# CHALLENGE: How would you accomplish the above
# without creating a new list and without adding or removing elements?
```