#Geometric Progression

Geometric Progression

This python program asks the user to input the number of characters they want to use in a list. The user then inputs multiple numbers to form their list. The program runs through these numbers and checks if their list forms a geometric progression. If this sequence creates a geometric progression, the ratio of that progression is shown as well.

firstlist = [] # The list with the inputted numbers. secondlist = [] # The list with the division between each number. length = int(input("How many numbers do you want in the list? ")) # Ask user how many numbers in sequence. # The user inputs a number and that number is added to the firstlist def inputlist (length): for x in range(0, length): number = float(input("Type your number: ")) firstlist.append(number) division = 0 # Every two numbers in firstlist are divided, and the divided number is added to secondlist. def divlist (length): for y in range(0, length): if y < (len(firstlist)-1): division = (firstlist[y + 1] / firstlist[y]) secondlist.append(division) inputlist(length) divlist(length) counter = 0 # Counter to count the number of times the ratio is equal to each other. firstnum = secondlist[0] # The list of all numbers from secondlist are compared to each other to see if they are similar or not. def geometric (secondlist, firstnum, counter): for x in secondlist: if firstnum == x: # This if-statement is to start the counter with the base of 1. firstnum == x counter = counter + 1 if counter == len(secondlist): # If the progressed counter is equal to the number of numbers in the list, then geometric progression exists. print("This sequence is a geometric progression. The common ratio is", firstnum) if x == secondlist[len(secondlist)-1] and counter != len(secondlist): # If x is equal to the last number in the division list (to make sure the list is ran through) and the counter isn't equal to the number of characters in the list, a geometric progression does not exist. print("This is not a geometric progression.") geometric(secondlist, firstnum, counter)