w3resource

Python Math: Reverse a range


71. Reverse a Range

Write a Python program to reverse a range.

Sample Solution:

Python Code:

#https://gist.github.com/fcicq/ddb746042150b4e959e6
def reversed_range(start, stop=None, step=1):
  if stop is None:	
    return range(start - step, -step, -step)
  else:
    new_start = stop - ((stop-start-1) % step + 1)
    new_end = new_start - (stop-start+step-1) // step * step
    if (stop - start) % step == 0 and step < 0: new_start -= step
    return range(new_start, new_end, -step)

print(reversed_range(1, 10, 2))

print(reversed_range(1, 5, 1))

Sample Output:

range(9, -1, -2)                                                                                              
range(4, 0, -1) 

Flowchart:

Flowchart: Reverse a range

For more Practice: Solve these Related Problems:

  • Write a Python program to reverse a range of numbers using slicing and print the reversed sequence.
  • Write a Python function that accepts a range object, reverses it, and returns the reversed range as a list.
  • Write a Python script to reverse a range with a specified step and then output the resulting list of numbers.
  • Write a Python program to implement a loop that manually reverses the elements of a given range and prints the final sequence.

Go to:


Previous: Write a Python program for casino simulation.
Next: Write a Python program to create a range for floating numbers.

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.



Follow us on Facebook and Twitter for latest update.