3.8 & 3.10 Hacks

Hack 1

Iteration: repeats loops many times until condition is met

Iteration statement example: Let's say Lets say I are looking for my backpack inside of my house... What steps would you take?

  1. Let's say there are n rooms to search... number the rooms 1-n
  2. Look for the backpack in room number 1
  3. Search each room thoroughly for backpack
  4. Change each room number to the next highest number
  5. Repeat steps 3 & 4 until my backpack is found

My backpack being found counts as a stopping condition because if my backpack is found, the loop stops.

i = 0
while (i < 5):
    print("I love country music!")
    i = i + 1
I love country music!
I love country music!
I love country music!
I love country music!
I love country music!

Hack 2

Iteration statements: changes sequential flow control of repeating statements zero or more times until a stopping condition is met

for i in range(1,11):
    print(i)
1
2
3
4
5
6
7
8
9
10
numbers = 0
n = 1 
while numbers < 80:
    numbers = 3 + (n-1)*13
    print(numbers)
    n = n + 1
    ## outputs are supposed to be:

    3
    16
    29
    42
    55
    68
    81
3
16
29
42
55
68
81

Hack 3

nums = ['38', '45', '67', '83', '78']

num1 = nums[0]
for x in nums :
   if x < num1:
      num1 = x
      
print("The minimum number in the array is " + str(num1))
The minimum number in the array is 38
import getpass, sys
import random

def ask_question (question, answer):

    print(question)
    ans = input(question)
    print(ans)
   
    if ans == answer:
        print("Correct!")
        return 1

    else:
        print("Wrong")
        return 0

question_list = ["What allows a value to be inserted into a list at index i?" , "What allows an element at index i to be deleted from a list?" , "What returns the number of elements currently in a specific list?" , "What allows a value to be added at the end of a list?"]
answer_list = ["index()", "remove()", "length()" , "append()"]

# Set points to 0 at the start of the quiz
points = 0

# If the length of the quiz is greater than 0, then random questions will be chosen from the "question_list" set
while len(question_list) > 0:
    index = random.randint(0, len(question_list) - 1)
    
# The points system where a point is rewarded for each correct answer    
    points = points + ask_question(question_list[index], answer_list[index])
    
# If a question or answer has already been used, then it shall be deleted    
    del question_list[index]
    del answer_list[index]

# Calculating score using the points system and dividing it by the total number of questions (6)
score = (points / 4)

# Calculating the percentage of correct answers by multiplying the score by 100
percent = (score * 100)

# Printing the percentage, and formatting the percentage in a way where two decimals can be shown (through "{:.2f}")
print("{:.2f}".format(percent) + "%")

# Adding final remarks based upon the users given scores
if points >= 5:
         print("Your total score is: ", points, "out of 4. Amazing job!")

elif points == 4:
         print("Your total score is: ", points, "out of 4. Not too bad, keep on studying! " )

else:
         print("Your total score is: ", points, "out of 4. Its alright, better luck next time!")
What allows a value to be added at the end of a list?
append()
Correct!
What allows an element at index i to be deleted from a list?
remove()
Correct!
What returns the number of elements currently in a specific list?
length()
Correct!
What allows a value to be inserted into a list at index i?
index()
Correct!
100.00%
Your total score is:  4 out of 4. Not too bad, keep on studying!