w3resource

Python Exercise: Check the numbers that are higher than the previous

Python Basic - 1: Exercise-148 with Solution

A Python list contains some positive integers. Write a Python program to count the numbers that are greater than the previous number on the list.

Sample Data:

([1, 4, 7, 9, 11, 5]) -> 4
([1, 3, 3, 2, 2]) -> 1
([4, 3, 2, 1]) -> 0

Sample Solution-1:

Python Code:

# Function to count numbers in a list that are greater than the previous number.
def test(nums):
    # Counter variable to keep track of the count.
    ctr = 0

    # Iterate through the list starting from the second element.
    for i in range(1, len(nums)):
        # Check if the current number is greater than the previous number.
        if nums[i] > nums[i - 1]:
            # Increment the counter.
            ctr += 1

    # Return the final count.
    return ctr

# Example usage of the function with different lists of numbers.
nums = [1, 4, 7, 9, 11, 5]
print("Original list of numbers:", nums)
print("Count the numbers of the said list that are greater than the previous number!")
print(test(nums))

nums = [1, 3, 3, 2, 2]
print("\nOriginal list of numbers:", nums)
print("Count the numbers of the said list that are greater than the previous number!")
print(test(nums))

nums = [4, 3, 2, 1]
print("\nOriginal list of numbers:", nums)
print("Count the numbers of the said list that are greater than the previous number!")
print(test(nums))

Sample Output:

Original list of numbers: [1, 4, 7, 9, 11, 5]
Count the numbers of the said list that are greater than the previous number!
4
Original list of numbers: [1, 3, 3, 2, 2]
Count the numbers of the said list that are greater than the previous number!
1
Original list of numbers: [4, 3, 2, 1]
Count the numbers of the said list that are greater than the previous number!
0

Explanation:

Here is a breakdown of the above Python code:

  • Function definition:
    • def test(nums):: Defines a function named "test()" that takes a list of numbers (nums) as input.
  • Counter variable:
    • ctr = 0: Initializes a counter variable to keep track of the count.
  • Iteration through the list:
    • for i in range(1, len(nums)):: Iterates through the list starting from the second element.
  • Comparison and counting:
    • if nums[i] > nums[i - 1]:: Checks if the current number is greater than the previous number.
    • ctr += 1: Increments the counter if the condition is met.
  • Return statement:
    • return ctr: Returns the final count of numbers that are greater than the previous number.

Flowchart:

Flowchart: Python - Check the numbers that are higher than the previous.

Sample Solution-2:

Python Code:

# Function to count numbers in a list that are greater than the previous number.
def test(nums):
    # Use list comprehension to count numbers that are greater than the previous number.
    # The expression `nums[n] > nums[n-1]` evaluates to True if the current number is greater than the previous number.
    # The sum function counts the number of True values in the list comprehension.
    return sum(nums[n] > nums[n-1] for n in range(1, len(nums)))

# Example usage of the function with different lists of numbers.
nums = [1, 4, 7, 9, 11, 5]
print("Original list of numbers:", nums)
print("Count the numbers of the said list that are greater than the previous number!")
print(test(nums))

nums = [1, 3, 3, 2, 2]
print("\nOriginal list of numbers:", nums)
print("Count the numbers of the said list that are greater than the previous number!")
print(test(nums))

nums = [4, 3, 2, 1]
print("\nOriginal list of numbers:", nums)
print("Count the numbers of the said list that are greater than the previous number!")
print(test(nums))

Sample Output:

Original list of numbers: [1, 4, 7, 9, 11, 5]
Count the numbers of the said list that are greater than the previous number!
4
Original list of numbers: [1, 3, 3, 2, 2]
Count the numbers of the said list that are greater than the previous number!
1
Original list of numbers: [4, 3, 2, 1]
Count the numbers of the said list that are greater than the previous number!
0

Explanation:

Here is a breakdown of the above Python code:

  • Function definition:
    • def test(nums):: Defines a function named "test()" that takes a list of numbers (nums) as input.
  • List comprehension and sum:
    • return sum(nums[n] > nums[n-1] for n in range(1, len(nums))): Uses list comprehension to create a list of True/False values based on whether each number is greater than the previous one. The "sum()" function then counts the number of 'True' values.

Flowchart:

Flowchart: Python - Check the numbers that are higher than the previous.

Python Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Sum of the digits in each number in a list is equal
Next: N x N square consisting only of the integer N.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.