Python: Generate a random alphabetical character, string and alphabetical strings of a fixed length

Python module: Exercise-3 with Solution

Write a Python program that generates random alphabetical characters, alphabetical strings, and alphabetical strings of a fixed length.

Use random.choice

Sample Solution:

Python Code:

import random
import string
print("Generate a random alphabetical character:")
print("\nGenerate a random alphabetical string:")
max_length = 255
str1 = ""
for i in range(random.randint(1, max_length)):
    str1 += random.choice(string.ascii_letters)
print("\nGenerate a random alphabetical string of a fixed length:")
str1 = ""
for i in range(10):
    str1 += random.choice(string.ascii_letters)

Sample Output:

Generate a random alphabetical character:

Generate a random alphabetical string:

Generate a random alphabetical string of a fixed length:


Flowchart: Generate a random alphabetical character, string and alphabetical string of a fixed length.

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: Write a Python program to select a random element from a list, set, dictionary (value) and a file from a directory.
Next: Write a Python program to construct a seeded random number generator, also generate a float between 0 and 1, excluding 1.

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.

Python: Tips of the Day

Inverts a dictionary with non-unique hashable values:


def tips_collect_dictionary(obj):
  inv_obj = {}
  for key, value in obj.items():
    inv_obj.setdefault(value, list()).append(key)
  return inv_obj
ages = {
  "Owen": 25,
  "Jhon": 25,
  "Pepe": 15,


{25: ['Owen', 'Jhon'], 15: ['Pepe']}


We are closing our Disqus commenting system for some maintenanace issues. You may write to us at reach[at]yahoo[dot]com or visit us at Facebook