﻿ Python - Check the numbers that are higher than the previous

# 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:

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:

Python Code Editor:

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

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

﻿