Please note, this is a STATIC archive of website www.w3resource.com from 19 Jul 2022, cach3.com does not collect or store any user information, there is no "phishing" involved.
w3resource

Python: Create a new string by taking a string, and word by word rearranging its characters in ASCII order

Python Programming Puzzles: Exercise-69 with Solution

Write a Python program to create a new string by taking a string, and word by word rearranging its characters in ASCII order.

Input: Ascii character table
Output:
Aciis aaccehrrt abelt

Input: maltos won
Output:
almost now

Pictorial Presentation:

Python: Create a new string by taking a string, and word by word rearranging its characters in ASCII order.

Sample Solution-1:

Python Code:

#License: https://bit.ly/3oLErEI

def test(strs):
    return " ".join("".join(sorted(w)) for w in strs.split(' '))
 
strs = "Ascii character table"
print("Original string:",strs) 
print("New string by said string, and word by word rearranging its characters in ASCII order:")
print(test(strs))
strs = "maltos won"
print("\nOriginal string:",strs) 
print("New string by said string, and word by word rearranging its characters in ASCII order:")
print(test(strs)) 

Sample Output:

Original string: Ascii character table
New string by said string, and word by word rearranging its characters in ASCII order:
Aciis aaccehrrt abelt

Original string: maltos won
New string by said string, and word by word rearranging its characters in ASCII order:
almost now

Flowchart:

Flowchart: Python - Create a new string by taking a string, and word by word rearranging its characters in ASCII order.

Visualize Python code execution:

The following tool visualize what the computer is doing step-by-step as it executes the said program:


Sample Solution-2:

Python Code:

#License: https://bit.ly/3oLErEI

def test(strs):
    words = strs.split(' ')
    rwords = []
    for word in words:
        occurrences = {}
        for c in word:
            occurrences[c] = occurrences.get(c, 0) + 1
        subsequence = []
        for c, count in occurrences.items():
            subsequence += [c]*count
        subsequence.sort()
        subsequence = subsequence*(len(word)//len(subsequence)) + subsequence[:len(word)%len(subsequence)]
        rwords.append(''.join(subsequence))
    return ' '.join(rwords)
 
strs = "Ascii character table"
print("Original string:",strs) 
print("New string by said string, and word by word rearranging its characters in ASCII order:")
print(test(strs))
strs = "maltos won"
print("\nOriginal string:",strs) 
print("New string by said string, and word by word rearranging its characters in ASCII order:")
print(test(strs))

Sample Output:

Original string: Ascii character table
New string by said string, and word by word rearranging its characters in ASCII order:
Aciis aaccehrrt abelt

Original string: maltos won
New string by said string, and word by word rearranging its characters in ASCII order:
almost now

Flowchart:

Flowchart: Python - Create a new string by taking a string, and word by word rearranging its characters in ASCII order.

Visualize Python code execution:

The following tool visualize what the computer is doing step-by-step as it executes the said program:


Python Code Editor :

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

Previous: Find all 5's in integers less than n that are divisible by 9 or 15.
Next: Find the first negative balance.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Python: Tips of the Day

Find current directory and file's directory:

To get the full path to the directory a Python file is contained in, write this in that file:

import os 
dir_path = os.path.dirname(os.path.realpath(__file__))

(Note that the incantation above won't work if you've already used os.chdir() to change your current working directory, since the value of the __file__ constant is relative to the current working directory and is not changed by an os.chdir() call.)

To get the current working directory use

import os
cwd = os.getcwd()

Documentation references for the modules, constants and functions used above:

  • The os and os.path modules.
  • The __file__ constant
  • os.path.realpath(path) (returns "the canonical path of the specified filename, eliminating any symbolic links encountered in the path")
  • os.path.dirname(path) (returns "the directory name of pathname path")
  • os.getcwd() (returns "a string representing the current working directory")
  • os.chdir(path) ("change the current working directory to path")

Ref: https://bit.ly/3fy0R6m