Answer to Question #193667 in Python for Ravi

Question #193667

Rearrange Numbers in String


Given a string, write a program to re-arrange all the numbers appearing in the string in decreasing order. Note: There will not be any negative numbers or numbers with decimal part.


Input

The input will be a single line containing a string.


Output

The output should be a single line containing the modified string with all the numbers in string re-ordered in decreasing order.


Explanation

For example, if the given string is "I am 5 years and 11 months old", the numbers are 5, 11. Your code should print the sentence after re-ordering the numbers as "I am 11 years and 5 months old".


Sample Input

I am 5 years and 11 months old


Sample Output

I am 11 years and 5 months old



Sample Input

I have learnt 3% of Python 4 for 45 days


Sample Output

I have learnt 45% of Python 4 for 3 days


1
Expert's answer
2021-05-15T13:47:07-0400
import re
inputText = input()
words= inputText.split()
numbers=[int(s) for s in re.findall(r'\b\d+\b', inputText)]
numbers.sort(reverse=True)
for i in range(0,len(words)):
    if re.search(r'\d+',words[i]):
        words[i]=re.sub(r"\d+", str(numbers.pop(0)), words[i])
for i in range(0,len(words)):
    print(words[i],end=' ')

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!

Leave a comment

LATEST TUTORIALS
New on Blog
APPROVED BY CLIENTS