Build a Dice-Rolling Application With Python


Building small projects, like a text-based user interface (TUI) dice-rolling application, will help you level up your Python programming skills. You’ll learn how to gather and validate the user’s input, import code from modules and packages, write functions, use for loops and conditionals, and neatly display output by using strings and the print() function.

In this project, you’ll code an application that simulates dice-rolling events. To do so, you’ll use Python’s random module.

In this tutorial, you’ll learn how to:

Use random.randint() to simulate dice-rolling events
Ask for the user’s input using the built-in input() function
Parse and validate the user’s input
Manipulate strings using methods, such as .center() and .join()

You’ll also learn the basics of how to structure, organize, document, and run your Python programs and scripts.

Click the link below to download the entire code for this dice-rolling application and follow along while you build the project yourself:

Get Source Code: Click here to get the source code you’ll use to build your Python dice-rolling app.


In this step-by-step project, you’ll build an application that runs dice-rolling simulations. The app will be able to roll up to six dice, with each die having six faces. After every roll, the application will generate an ASCII diagram of dice faces and display it on the screen. The following video demonstrates how the app works:

When you run your dice-rolling simulator app, you get a prompt asking for the number of dice you want to roll. Once you provide a valid integer from 1 to 6, inclusive, then the application simulates the rolling event and displays a diagram of dice faces on the screen.

Project Overview

Your dice-rolling simulator app will have a minimal yet user-friendly text-based user interface (TUI), which will allow you to specify the number of six-sided dice that you’d like to roll. You’ll use this TUI to roll the dice at home without having to fly to Las Vegas.

Here’s a description of how the app will work internally:

Tasks to Run
Tools to Use
Code to Write

Prompt the user to choose how many six-sided dice to roll, then read the user’s input
Python’s built-in input() function
A call to input() with appropriate arguments

Parse and validate the user’s input
String methods, comparison operators, and conditional statements
A user-defined function called parse_input()

Run the dice-rolling simulation
Python’s random module, specifically the randint() function
A user-defined function called roll_dice()

Generate an ASCII diagram with the resulting dice faces
Loops, list.append(), and str.join()
A user-defined function called generate_dice_faces_diagram()

Display the diagram of dice faces on the screen
Python’s built-in print() function
A call to print() with appropriate arguments

Keeping these internal workings in mind, you’ll code three custom functions to provide the app’s main features and functionalities. These functions will define your code’s public API, which you’ll call to bring the app to life.

To organize the code of your dice-rolling simulator project, you’ll create a single file called in a directory of your choice in your file system. Go ahead and create the file to get started!


You should be comfortable with the following concepts and skills before you start building this dice-rolling simulation project:

Ways to run scripts in Python
Python’s import mechanism
The basics of Python data types, mainly strings and integer numbers
Basic data structures, especially lists
Python variables and constants
Python comparison operators
Boolean values and logical expressions
Conditional statements
Python for loops
The basics of input, output, and string formatting in Python

If you don’t have all of the prerequisite knowledge before starting this coding adventure, then that’s okay! You might learn more by going ahead and getting started! You can always stop and review the resources linked here if you get stuck.

Step 1: Code the TUI of Your Python Dice-Rolling App

In this step, you’ll write the required code to ask for the user’s input of how many dice they want to roll in the simulation. You’ll also code a Python function that takes the user’s input, validates it, and returns it as an integer number if the validation was successful. Otherwise, the function will ask for the user’s input again.

To download the code for this step, click the following link and navigate to the source_code_step_1/ folder:

Get Source Code: Click here to get the source code you’ll use to build your Python dice-rolling app.

Read the full article at »

[ Improve Your Python With 🐍 Python Tricks 💌 – Get a short & sweet Python Trick delivered to your inbox every couple of days. >> Click here to learn more and see examples ]