Understanding Type Casting, Conditional Statements & Loops In Python

Neeraj Kushwaha
7 min readJan 26, 2023

--

This is the 4th post in a series of learning the Python programming language.

User Input

User input in Python is a way for the user to provide input to a program. The input() function is used to get input from the user. For example, the following code prompts the user to enter their name and stores it in the variable name:

name = input("What is your name? ")
print("Hello, " + name)

The input function returns the input as a string, regardless of what type of input the user provides. This means that if the user enters a number, it will be stored as a string. This can cause problems if the program expects the input to be a different type, such as an integer or a float.

Typecasting

Typecasting is the process of converting one data type to another. In Python, we can use typecasting to convert a string to an integer or a float using the int() and float() functions respectively.

For example, if we want to convert the user input to an integer, we can use the following code:

age = int(input("What is your age? "))
print("You are " + str(age) + " years old.")

In this example, the user is prompted to enter their age, and the input is stored as a string. We then use the int() function to convert the string to an integer and store it in the variable age. We then use the str() function to convert the integer back to a string so that it can be concatenated with the string "You are " and " years old."

It’s also worth noting that, if the user inputs something that cannot be casted to the desired type, the code will raise a ValueError. We can use try-except block to handle this error and prompt the user again to input the correct value.

while True:
try:
age = int(input("What is your age? "))
break
except ValueError:
print("Please enter a valid integer.")

In this example, the user will be prompted repeatedly until they input a valid integer.

User input and typecasting are important concepts in Python programming. The input() function is used to get input from the user, and typecasting is used to convert the input to the desired data type.

Conditional Statements

In Python, conditional statements are used to make decisions based on certain conditions. The most commonly used conditional statements are “if,” “if-else,” and “if-elif-else.”

The “if” statement is the simplest form of a conditional statement. It allows you to check if a certain condition is true, and if it is, the code within the “if” block will be executed. For example:

x = 5
if x > 0:
print("x is positive")

In this example, the “if” statement checks if the variable “x” is greater than 0. Since it is, the code within the “if” block is executed, and the output is “x is positive.”

The “if-else” statement is an extension of the “if” statement. It allows you to specify what should happen if the condition in the “if” statement is not true. For example:

x = -5
if x > 0:
print("x is positive")
else:
print("x is not positive")

In this example, the “if” statement checks if “x” is greater than 0. Since it is not, the code within the “else” block is executed, and the output is “x is not positive.”

The “if-elif-else” statement is a more complex form of a conditional statement. It allows you to check multiple conditions, and if one of them is true, the code within the corresponding block will be executed. For example:

x = 5
if x > 0:
print("x is positive")
elif x < 0:
print("x is negative")
else:
print("x is zero")

In this example, the “if” statement checks if “x” is greater than 0. Since it is, the code within the first block is executed, and the output is “x is positive.” If the first condition is not met, the program will check the next ‘elif’ condition and so on. If none of the conditions are met, the code within the “else” block is executed.

It’s also worth noting that you can have as many ‘elif’ conditions as needed and ‘else’ block is optional.

It’s important to keep in mind that once a condition is met, the code within the corresponding block will be executed, and the program will not check the remaining conditions. This means that you should order your conditions from most specific to least specific.

Conditional statements in Python allow you to make decisions based on certain conditions. “if” statements are used to check if a single condition is true, “if-else” statements are used to specify what should happen if the condition in the “if” statement is not true, and “if-elif-else” statements are used to check multiple conditions.

Loops

In Python, loops are used to execute a block of code multiple times. There are several types of loops available in Python.

for item in sequence:
# code to execute

For Loops

In Python, there are several types of for loops that can be used to iterate over a sequence of items:

  • for loop: The most basic form of a for loop is used to iterate over a sequence of items, such as a list or a string. For example:
fruits = ['apple', 'banana', 'mango']
for fruit in fruits:
print(fruit)

In this example, the for loop iterates over the fruits list, and for each iteration, it assigns the current item to the variable fruit and executes the code within the loop. The output will be:

apple
banana
mango
  • for-else loop: A for-else loop is similar to a regular for loop, but it also includes an else block that is executed after the for loop completes. For example:
fruits = ['apple', 'banana', 'mango']
for fruit in fruits:
if fruit == 'banana':
break
else:
print("banana not found")

In this example, the for loop iterates over the fruits list, and for each iteration, it checks if the current item is equal to banana. If it is, the break statement is executed, and the loop is terminated. If the loop completes without finding banana, the else block is executed and the output will be "banana not found"

  • for-enumerate loop: The enumerate() function is used to iterate over a sequence of items and keep track of the index of the current item. For example:
fruits = ['apple', 'banana', 'mango']
for i, fruit in enumerate(fruits):
print(i, fruit)

In this example, the enumerate() function is used to iterate over the fruits list and the for loop assigns the current index to the variable i and the current item to the variable fruit. The output will be:

0 apple
1 banana
2 mango
  • for-zip loop: The `zip() function is used to combine multiple sequences into one, and it returns an iterator of tuples. For example:
fruits = ['apple', 'banana', 'mango']
prices = [1.2, 2.5, 3.0]
for fruit, price in zip(fruits, prices):
print(fruit, price)

In this example, the zip() function is used to combine the fruits and prices lists, and the for loop assigns the current item from each list to the variables fruit and price respectively. The output will be:

apple 1.2
banana 2.5
mango 3.0
  • for-dict loop: A for loop can also be used to iterate over the keys or values of a dictionary. For example:
fruits_prices = {'apple': 1.2, 'banana': 2.5, 'mango': 3.0}
for fruit in fruits_prices:
print(fruit)

In this example, the for loop iterates over the keys of the fruits_prices dictionary, and for each iteration, it assigns the current key to the variable fruit and executes the code within the loop. The output will be:

apple
banana
mango

You can also use the .items() method to access both key and value in the dict

fruits_prices = {'apple': 1.2, 'banana': 2.5, 'mango': 3.0}
for fruit,price in fruits_prices.items():
print(fruit,price)

The output will be:

apple 1.2
banana 2.5
mango 3.0
  • The range() function is used to generate a sequence of numbers. It takes three arguments: start, stop, and step. The start and step arguments are optional, and the default values are 0 and 1 respectively. For example:
for i in range(5):
print(i)

This will generate a sequence of numbers from 0 to 4 and the output will be:

0
1
2
3
4

You can also use the range() function with for loop to iterate over a specific range of numbers.

for i in range(1,6):
print(i)

The output will be:

1
2
3
4
5

While Loop

There are two main types of while loops that can be used to repeatedly execute a block of code:

while condition:
# code to execute
  • while loop: The while loop repeatedly executes a block of code as long as a given condition is true. For example:
count = 0
while count < 5:
print(count)
count += 1

In this example, the while loop will execute the code within the loop as long as the value of count is less than 5. The output will be:

0
1
2
3
4
  • while-else loop: A while-else loop is similar to a regular while loop, but it also includes an else block that is executed after the while loop completes. For example:
count = 0
while count < 5:
print(count)
count += 1
else:
print("Count is greater than 5")

In this example, the while loop will execute the code within the loop as long as the value of count is less than 5. If the loop completes without meeting the condition, the else block is executed and the output will be "Count is greater than 5".

It’s important to note that while loops can cause infinite loops if the condition is never met. It's important to ensure that the condition will eventually be met. You can also use break statement inside the loop to exit the loop when a certain condition is met.

In addition to the above, there is also a do-while loop, but python doesn't have a direct implementation for it, similar functionality can be achieved by using while True and break statement.

If you like the post, don’t forget to clap. If you’d like to connect, you can find me on LinkedIn.

References:

https://www.python.org/doc/

--

--

Neeraj Kushwaha
Neeraj Kushwaha

Written by Neeraj Kushwaha

https://www.learncsdesign.com “Walking on water and developing software from a specification are easy if both are frozen”

No responses yet