Menu iconMenu iconPython Programming Unlocked for Beginners
Python Programming Unlocked for Beginners

Chapter 2: Python Basics

2.5 Input and Output

In this section, we will discuss the basic input and output operations in Python. Being able to interact with users and display information is crucial for building interactive applications and presenting the results of your code. 

2.5.1 Output: The print() Function

The print() function is one of the most commonly used functions in Python for displaying output. It writes text to the console, allowing you to present information to users or debug your code. You can pass one or more arguments to the print() function, separated by commas. By default, the print() function adds a newline character at the end of the output. 

Examples of using the print() function:

print("Hello, World!")  # Output: Hello, World!

x = 5
y = 3
print("The sum of", x, "and", y, "is", x + y)  # Output: The sum of 5 and 3 is 8

You can also customize the print() function using its optional parameters, such as sep (separator) and end. For example:

print("A", "B", "C", sep=", ")  # Output: A, B, C
print("Hello", end="! ")        # Output: Hello! (no newline) 

2.5.2 Input: The input() Function

The input() function is used to read user input from the console. It accepts a single optional argument, which is the prompt to be displayed to the user. The function returns the user's input as a string.

Examples of using the input() function:

name = input("Enter your name: ")
print("Hello, " + name + "!")  # Output: Hello, [user's input]!

Since the input() function always returns a string, you may need to perform type conversion if you expect a different data type. For example:

age_str = input("Enter your age: ")
age = int(age_str)  # Convert the user input to an integer
print("In one year, you will be", age + 1, "years old.")  # Output: In one year, you will be [age+1] years old.

2.5.3 Formatting Output: f-strings, str.format(), and %-formatting

Python provides several methods for formatting output strings, making it easier to create well-formatted and readable messages.

  • f-strings (Python 3.6 and later): f-strings, or "formatted string literals," allow you to embed expressions and variables directly into string literals, using curly braces {}. To create an f-string, add an f or F prefix before the string literal.

    Example of using f-strings:

  • str.format(): The str.format() method allows you to insert placeholders in a string, which will be replaced by specified values when the method is called. Placeholders are enclosed in curly braces {} and can include optional formatting specifications.

    Example of using str.format():

    name = "Bob"
    age = 25
    print("{} is {} years old.".format(name, age))  # Output: Bob is 25 years old.
  • %-formatting: The % operator can be used for string formatting, similar to the syntax used in C's printf() function. This method uses placeholders in the string, which are replaced by specified values. Placeholders begin with a % character, followed by a formatting specifier.

    Example of using %-formatting:

    name = "Charlie"
    age = 22
    print("%s is %d years old." % (name, age))  # Output: Charlie is 22 years old.

    Some common formatting specifiers include:

    • %s: String
    • %d: Integer
    • %f: Floating-point number

    Note that %-formatting is considered less readable and less flexible compared to f-strings and str.format(), and it's not recommended for new Python code.

Understanding input and output operations in Python is essential for building interactive applications and presenting the results of your code. As you progress through this book, you will learn more advanced techniques for formatting output, handling files, and working with data streams to create more complex and versatile applications.

Exercise 2.5.1: Personalized Greeting

In this exercise, you will write a Python program that prompts the user for their name and age, and then displays a personalized greeting. You will practice using input, output, and type conversion.

Instructions:

  1. Create a new Python file or open a Python interpreter.
  2. Use the input() function to prompt the user to enter their name, and assign the result to a variable named name.
  3. Use the input() function again to prompt the user to enter their age. Remember to convert the input to the appropriate data type (e.g., int), and assign the result to a variable named age.
  4. Calculate the year the user was born using the current year minus the user's age, and assign the result to a variable named birth_year.
  5. Use the print() function to display a personalized greeting, including the user's name and birth year.

Your final code should look something like this:

name = input("Enter your name: ")
age = int(input("Enter your age: "))

current_year = 2023  # Replace with the current year
birth_year = current_year - age

print(f"Hello, {name}! You were born in {birth_year}.")

When you run your program, you should see output similar to the following (depending on user input):

Enter your name: Jane
Enter your age: 25
Hello, Jane! You were born in 1998.

Exercise 2.5.2: Personal Information Form

In this exercise, you will write a Python program that prompts the user to enter their personal information and then displays it. You will practice using input, output, and string formatting.

Instructions:

  1. Create a new Python file or open a Python interpreter.
  2. Use the input() function to prompt the user to enter their first name, last name, age, and email address. Assign the results to variables first_namelast_nameage, and email.
  3. Use the print() function and string formatting to display the entered information in a user-friendly format.

Your final code should look something like this:

first_name = input("Enter your first name: ")
last_name = input("Enter your last name: ")
age = input("Enter your age: ")
email = input("Enter your email address: ")

print(f"Name: {first_name} {last_name}\nAge: {age}\nEmail: {email}")

When you run your program, you should see output similar to the following (depending on user input):

Enter your first name: John
Enter your last name: Doe
Enter your age: 30
Enter your email address: john.doe@example.com
Name: John Doe
Age: 30
Email: john.doe@example.com

Exercise 2.5.3: Calculate the Area and Circumference of a Circle

In this exercise, you will write a Python program that calculates the area and circumference of a circle using its radius. You will practice using input, output, variables, arithmetic operators, and the math module.

Instructions:

  1. Create a new Python file or open a Python interpreter.
  2. Import the math module by adding import math at the beginning of your code.
  3. Use the input() function to prompt the user to enter the radius of a circle, and assign the result to a variable named radius. Remember to convert the input to the appropriate data type (e.g., float).
  4. Calculate the area and circumference of the circle using the following formulas:
    • area = math.pi * radius ** 2
    • circumference = 2 * math.pi * radius
  5. Use the print() function to display the calculated area and circumference of the circle.

Your final code should look something like this:

import math

radius = float(input("Enter the radius of the circle: "))

area = math.pi * radius ** 2
circumference = 2 * math.pi * radius

print(f"The area of a circle with radius {radius} is {area:.2f}")
print(f"The circumference of a circle with radius {radius} is {circumference:.2f}")

When you run your program, you should see output similar to the following (depending on user input):

Enter the radius of the circle: 5
The area of a circle with radius 5.0 is 78.54
The circumference of a circle with radius 5.0 is 31.42

2.5 Input and Output

In this section, we will discuss the basic input and output operations in Python. Being able to interact with users and display information is crucial for building interactive applications and presenting the results of your code. 

2.5.1 Output: The print() Function

The print() function is one of the most commonly used functions in Python for displaying output. It writes text to the console, allowing you to present information to users or debug your code. You can pass one or more arguments to the print() function, separated by commas. By default, the print() function adds a newline character at the end of the output. 

Examples of using the print() function:

print("Hello, World!")  # Output: Hello, World!

x = 5
y = 3
print("The sum of", x, "and", y, "is", x + y)  # Output: The sum of 5 and 3 is 8

You can also customize the print() function using its optional parameters, such as sep (separator) and end. For example:

print("A", "B", "C", sep=", ")  # Output: A, B, C
print("Hello", end="! ")        # Output: Hello! (no newline) 

2.5.2 Input: The input() Function

The input() function is used to read user input from the console. It accepts a single optional argument, which is the prompt to be displayed to the user. The function returns the user's input as a string.

Examples of using the input() function:

name = input("Enter your name: ")
print("Hello, " + name + "!")  # Output: Hello, [user's input]!

Since the input() function always returns a string, you may need to perform type conversion if you expect a different data type. For example:

age_str = input("Enter your age: ")
age = int(age_str)  # Convert the user input to an integer
print("In one year, you will be", age + 1, "years old.")  # Output: In one year, you will be [age+1] years old.

2.5.3 Formatting Output: f-strings, str.format(), and %-formatting

Python provides several methods for formatting output strings, making it easier to create well-formatted and readable messages.

  • f-strings (Python 3.6 and later): f-strings, or "formatted string literals," allow you to embed expressions and variables directly into string literals, using curly braces {}. To create an f-string, add an f or F prefix before the string literal.

    Example of using f-strings:

  • str.format(): The str.format() method allows you to insert placeholders in a string, which will be replaced by specified values when the method is called. Placeholders are enclosed in curly braces {} and can include optional formatting specifications.

    Example of using str.format():

    name = "Bob"
    age = 25
    print("{} is {} years old.".format(name, age))  # Output: Bob is 25 years old.
  • %-formatting: The % operator can be used for string formatting, similar to the syntax used in C's printf() function. This method uses placeholders in the string, which are replaced by specified values. Placeholders begin with a % character, followed by a formatting specifier.

    Example of using %-formatting:

    name = "Charlie"
    age = 22
    print("%s is %d years old." % (name, age))  # Output: Charlie is 22 years old.

    Some common formatting specifiers include:

    • %s: String
    • %d: Integer
    • %f: Floating-point number

    Note that %-formatting is considered less readable and less flexible compared to f-strings and str.format(), and it's not recommended for new Python code.

Understanding input and output operations in Python is essential for building interactive applications and presenting the results of your code. As you progress through this book, you will learn more advanced techniques for formatting output, handling files, and working with data streams to create more complex and versatile applications.

Exercise 2.5.1: Personalized Greeting

In this exercise, you will write a Python program that prompts the user for their name and age, and then displays a personalized greeting. You will practice using input, output, and type conversion.

Instructions:

  1. Create a new Python file or open a Python interpreter.
  2. Use the input() function to prompt the user to enter their name, and assign the result to a variable named name.
  3. Use the input() function again to prompt the user to enter their age. Remember to convert the input to the appropriate data type (e.g., int), and assign the result to a variable named age.
  4. Calculate the year the user was born using the current year minus the user's age, and assign the result to a variable named birth_year.
  5. Use the print() function to display a personalized greeting, including the user's name and birth year.

Your final code should look something like this:

name = input("Enter your name: ")
age = int(input("Enter your age: "))

current_year = 2023  # Replace with the current year
birth_year = current_year - age

print(f"Hello, {name}! You were born in {birth_year}.")

When you run your program, you should see output similar to the following (depending on user input):

Enter your name: Jane
Enter your age: 25
Hello, Jane! You were born in 1998.

Exercise 2.5.2: Personal Information Form

In this exercise, you will write a Python program that prompts the user to enter their personal information and then displays it. You will practice using input, output, and string formatting.

Instructions:

  1. Create a new Python file or open a Python interpreter.
  2. Use the input() function to prompt the user to enter their first name, last name, age, and email address. Assign the results to variables first_namelast_nameage, and email.
  3. Use the print() function and string formatting to display the entered information in a user-friendly format.

Your final code should look something like this:

first_name = input("Enter your first name: ")
last_name = input("Enter your last name: ")
age = input("Enter your age: ")
email = input("Enter your email address: ")

print(f"Name: {first_name} {last_name}\nAge: {age}\nEmail: {email}")

When you run your program, you should see output similar to the following (depending on user input):

Enter your first name: John
Enter your last name: Doe
Enter your age: 30
Enter your email address: john.doe@example.com
Name: John Doe
Age: 30
Email: john.doe@example.com

Exercise 2.5.3: Calculate the Area and Circumference of a Circle

In this exercise, you will write a Python program that calculates the area and circumference of a circle using its radius. You will practice using input, output, variables, arithmetic operators, and the math module.

Instructions:

  1. Create a new Python file or open a Python interpreter.
  2. Import the math module by adding import math at the beginning of your code.
  3. Use the input() function to prompt the user to enter the radius of a circle, and assign the result to a variable named radius. Remember to convert the input to the appropriate data type (e.g., float).
  4. Calculate the area and circumference of the circle using the following formulas:
    • area = math.pi * radius ** 2
    • circumference = 2 * math.pi * radius
  5. Use the print() function to display the calculated area and circumference of the circle.

Your final code should look something like this:

import math

radius = float(input("Enter the radius of the circle: "))

area = math.pi * radius ** 2
circumference = 2 * math.pi * radius

print(f"The area of a circle with radius {radius} is {area:.2f}")
print(f"The circumference of a circle with radius {radius} is {circumference:.2f}")

When you run your program, you should see output similar to the following (depending on user input):

Enter the radius of the circle: 5
The area of a circle with radius 5.0 is 78.54
The circumference of a circle with radius 5.0 is 31.42

2.5 Input and Output

In this section, we will discuss the basic input and output operations in Python. Being able to interact with users and display information is crucial for building interactive applications and presenting the results of your code. 

2.5.1 Output: The print() Function

The print() function is one of the most commonly used functions in Python for displaying output. It writes text to the console, allowing you to present information to users or debug your code. You can pass one or more arguments to the print() function, separated by commas. By default, the print() function adds a newline character at the end of the output. 

Examples of using the print() function:

print("Hello, World!")  # Output: Hello, World!

x = 5
y = 3
print("The sum of", x, "and", y, "is", x + y)  # Output: The sum of 5 and 3 is 8

You can also customize the print() function using its optional parameters, such as sep (separator) and end. For example:

print("A", "B", "C", sep=", ")  # Output: A, B, C
print("Hello", end="! ")        # Output: Hello! (no newline) 

2.5.2 Input: The input() Function

The input() function is used to read user input from the console. It accepts a single optional argument, which is the prompt to be displayed to the user. The function returns the user's input as a string.

Examples of using the input() function:

name = input("Enter your name: ")
print("Hello, " + name + "!")  # Output: Hello, [user's input]!

Since the input() function always returns a string, you may need to perform type conversion if you expect a different data type. For example:

age_str = input("Enter your age: ")
age = int(age_str)  # Convert the user input to an integer
print("In one year, you will be", age + 1, "years old.")  # Output: In one year, you will be [age+1] years old.

2.5.3 Formatting Output: f-strings, str.format(), and %-formatting

Python provides several methods for formatting output strings, making it easier to create well-formatted and readable messages.

  • f-strings (Python 3.6 and later): f-strings, or "formatted string literals," allow you to embed expressions and variables directly into string literals, using curly braces {}. To create an f-string, add an f or F prefix before the string literal.

    Example of using f-strings:

  • str.format(): The str.format() method allows you to insert placeholders in a string, which will be replaced by specified values when the method is called. Placeholders are enclosed in curly braces {} and can include optional formatting specifications.

    Example of using str.format():

    name = "Bob"
    age = 25
    print("{} is {} years old.".format(name, age))  # Output: Bob is 25 years old.
  • %-formatting: The % operator can be used for string formatting, similar to the syntax used in C's printf() function. This method uses placeholders in the string, which are replaced by specified values. Placeholders begin with a % character, followed by a formatting specifier.

    Example of using %-formatting:

    name = "Charlie"
    age = 22
    print("%s is %d years old." % (name, age))  # Output: Charlie is 22 years old.

    Some common formatting specifiers include:

    • %s: String
    • %d: Integer
    • %f: Floating-point number

    Note that %-formatting is considered less readable and less flexible compared to f-strings and str.format(), and it's not recommended for new Python code.

Understanding input and output operations in Python is essential for building interactive applications and presenting the results of your code. As you progress through this book, you will learn more advanced techniques for formatting output, handling files, and working with data streams to create more complex and versatile applications.

Exercise 2.5.1: Personalized Greeting

In this exercise, you will write a Python program that prompts the user for their name and age, and then displays a personalized greeting. You will practice using input, output, and type conversion.

Instructions:

  1. Create a new Python file or open a Python interpreter.
  2. Use the input() function to prompt the user to enter their name, and assign the result to a variable named name.
  3. Use the input() function again to prompt the user to enter their age. Remember to convert the input to the appropriate data type (e.g., int), and assign the result to a variable named age.
  4. Calculate the year the user was born using the current year minus the user's age, and assign the result to a variable named birth_year.
  5. Use the print() function to display a personalized greeting, including the user's name and birth year.

Your final code should look something like this:

name = input("Enter your name: ")
age = int(input("Enter your age: "))

current_year = 2023  # Replace with the current year
birth_year = current_year - age

print(f"Hello, {name}! You were born in {birth_year}.")

When you run your program, you should see output similar to the following (depending on user input):

Enter your name: Jane
Enter your age: 25
Hello, Jane! You were born in 1998.

Exercise 2.5.2: Personal Information Form

In this exercise, you will write a Python program that prompts the user to enter their personal information and then displays it. You will practice using input, output, and string formatting.

Instructions:

  1. Create a new Python file or open a Python interpreter.
  2. Use the input() function to prompt the user to enter their first name, last name, age, and email address. Assign the results to variables first_namelast_nameage, and email.
  3. Use the print() function and string formatting to display the entered information in a user-friendly format.

Your final code should look something like this:

first_name = input("Enter your first name: ")
last_name = input("Enter your last name: ")
age = input("Enter your age: ")
email = input("Enter your email address: ")

print(f"Name: {first_name} {last_name}\nAge: {age}\nEmail: {email}")

When you run your program, you should see output similar to the following (depending on user input):

Enter your first name: John
Enter your last name: Doe
Enter your age: 30
Enter your email address: john.doe@example.com
Name: John Doe
Age: 30
Email: john.doe@example.com

Exercise 2.5.3: Calculate the Area and Circumference of a Circle

In this exercise, you will write a Python program that calculates the area and circumference of a circle using its radius. You will practice using input, output, variables, arithmetic operators, and the math module.

Instructions:

  1. Create a new Python file or open a Python interpreter.
  2. Import the math module by adding import math at the beginning of your code.
  3. Use the input() function to prompt the user to enter the radius of a circle, and assign the result to a variable named radius. Remember to convert the input to the appropriate data type (e.g., float).
  4. Calculate the area and circumference of the circle using the following formulas:
    • area = math.pi * radius ** 2
    • circumference = 2 * math.pi * radius
  5. Use the print() function to display the calculated area and circumference of the circle.

Your final code should look something like this:

import math

radius = float(input("Enter the radius of the circle: "))

area = math.pi * radius ** 2
circumference = 2 * math.pi * radius

print(f"The area of a circle with radius {radius} is {area:.2f}")
print(f"The circumference of a circle with radius {radius} is {circumference:.2f}")

When you run your program, you should see output similar to the following (depending on user input):

Enter the radius of the circle: 5
The area of a circle with radius 5.0 is 78.54
The circumference of a circle with radius 5.0 is 31.42

2.5 Input and Output

In this section, we will discuss the basic input and output operations in Python. Being able to interact with users and display information is crucial for building interactive applications and presenting the results of your code. 

2.5.1 Output: The print() Function

The print() function is one of the most commonly used functions in Python for displaying output. It writes text to the console, allowing you to present information to users or debug your code. You can pass one or more arguments to the print() function, separated by commas. By default, the print() function adds a newline character at the end of the output. 

Examples of using the print() function:

print("Hello, World!")  # Output: Hello, World!

x = 5
y = 3
print("The sum of", x, "and", y, "is", x + y)  # Output: The sum of 5 and 3 is 8

You can also customize the print() function using its optional parameters, such as sep (separator) and end. For example:

print("A", "B", "C", sep=", ")  # Output: A, B, C
print("Hello", end="! ")        # Output: Hello! (no newline) 

2.5.2 Input: The input() Function

The input() function is used to read user input from the console. It accepts a single optional argument, which is the prompt to be displayed to the user. The function returns the user's input as a string.

Examples of using the input() function:

name = input("Enter your name: ")
print("Hello, " + name + "!")  # Output: Hello, [user's input]!

Since the input() function always returns a string, you may need to perform type conversion if you expect a different data type. For example:

age_str = input("Enter your age: ")
age = int(age_str)  # Convert the user input to an integer
print("In one year, you will be", age + 1, "years old.")  # Output: In one year, you will be [age+1] years old.

2.5.3 Formatting Output: f-strings, str.format(), and %-formatting

Python provides several methods for formatting output strings, making it easier to create well-formatted and readable messages.

  • f-strings (Python 3.6 and later): f-strings, or "formatted string literals," allow you to embed expressions and variables directly into string literals, using curly braces {}. To create an f-string, add an f or F prefix before the string literal.

    Example of using f-strings:

  • str.format(): The str.format() method allows you to insert placeholders in a string, which will be replaced by specified values when the method is called. Placeholders are enclosed in curly braces {} and can include optional formatting specifications.

    Example of using str.format():

    name = "Bob"
    age = 25
    print("{} is {} years old.".format(name, age))  # Output: Bob is 25 years old.
  • %-formatting: The % operator can be used for string formatting, similar to the syntax used in C's printf() function. This method uses placeholders in the string, which are replaced by specified values. Placeholders begin with a % character, followed by a formatting specifier.

    Example of using %-formatting:

    name = "Charlie"
    age = 22
    print("%s is %d years old." % (name, age))  # Output: Charlie is 22 years old.

    Some common formatting specifiers include:

    • %s: String
    • %d: Integer
    • %f: Floating-point number

    Note that %-formatting is considered less readable and less flexible compared to f-strings and str.format(), and it's not recommended for new Python code.

Understanding input and output operations in Python is essential for building interactive applications and presenting the results of your code. As you progress through this book, you will learn more advanced techniques for formatting output, handling files, and working with data streams to create more complex and versatile applications.

Exercise 2.5.1: Personalized Greeting

In this exercise, you will write a Python program that prompts the user for their name and age, and then displays a personalized greeting. You will practice using input, output, and type conversion.

Instructions:

  1. Create a new Python file or open a Python interpreter.
  2. Use the input() function to prompt the user to enter their name, and assign the result to a variable named name.
  3. Use the input() function again to prompt the user to enter their age. Remember to convert the input to the appropriate data type (e.g., int), and assign the result to a variable named age.
  4. Calculate the year the user was born using the current year minus the user's age, and assign the result to a variable named birth_year.
  5. Use the print() function to display a personalized greeting, including the user's name and birth year.

Your final code should look something like this:

name = input("Enter your name: ")
age = int(input("Enter your age: "))

current_year = 2023  # Replace with the current year
birth_year = current_year - age

print(f"Hello, {name}! You were born in {birth_year}.")

When you run your program, you should see output similar to the following (depending on user input):

Enter your name: Jane
Enter your age: 25
Hello, Jane! You were born in 1998.

Exercise 2.5.2: Personal Information Form

In this exercise, you will write a Python program that prompts the user to enter their personal information and then displays it. You will practice using input, output, and string formatting.

Instructions:

  1. Create a new Python file or open a Python interpreter.
  2. Use the input() function to prompt the user to enter their first name, last name, age, and email address. Assign the results to variables first_namelast_nameage, and email.
  3. Use the print() function and string formatting to display the entered information in a user-friendly format.

Your final code should look something like this:

first_name = input("Enter your first name: ")
last_name = input("Enter your last name: ")
age = input("Enter your age: ")
email = input("Enter your email address: ")

print(f"Name: {first_name} {last_name}\nAge: {age}\nEmail: {email}")

When you run your program, you should see output similar to the following (depending on user input):

Enter your first name: John
Enter your last name: Doe
Enter your age: 30
Enter your email address: john.doe@example.com
Name: John Doe
Age: 30
Email: john.doe@example.com

Exercise 2.5.3: Calculate the Area and Circumference of a Circle

In this exercise, you will write a Python program that calculates the area and circumference of a circle using its radius. You will practice using input, output, variables, arithmetic operators, and the math module.

Instructions:

  1. Create a new Python file or open a Python interpreter.
  2. Import the math module by adding import math at the beginning of your code.
  3. Use the input() function to prompt the user to enter the radius of a circle, and assign the result to a variable named radius. Remember to convert the input to the appropriate data type (e.g., float).
  4. Calculate the area and circumference of the circle using the following formulas:
    • area = math.pi * radius ** 2
    • circumference = 2 * math.pi * radius
  5. Use the print() function to display the calculated area and circumference of the circle.

Your final code should look something like this:

import math

radius = float(input("Enter the radius of the circle: "))

area = math.pi * radius ** 2
circumference = 2 * math.pi * radius

print(f"The area of a circle with radius {radius} is {area:.2f}")
print(f"The circumference of a circle with radius {radius} is {circumference:.2f}")

When you run your program, you should see output similar to the following (depending on user input):

Enter the radius of the circle: 5
The area of a circle with radius 5.0 is 78.54
The circumference of a circle with radius 5.0 is 31.42