Working with Numbers & Strings in Python
Tags: python, programming, beginners
Published: 2022-01-17 17:15:56


Python is one of the most popular coding languages available and is great as a starting point in your learning journey. It can be used for a range of things, such as web and internet development, software development application, network programming, and 3D graphics... ([hethelinnovation.com](https://hethelinnovation.com/))


*While learning, we end up getting stuck in small bugs that can take more time to solve, whereas we could have solved it quickly if we could only remember the basics. *

So, this is a series of Basics Python tips to remember whenever we work with numbers and strings. You can also use this article as a reference somehow while coding...

Enjoy!



## Python Numbers

There are three numeric types we use in Python: 
- int: or integer, is a whole number without decimals.

```
x = 1245
y = -789

print(type(x))
print(type(y))

``` 

- float: or Floating, a number with one or more decimals.

```
x = 12.45
y = 42E5

print(type(x))
print(type(y))

``` 

- complex: as studied in high school, is a number written with a "j" as the imaginary part.


```
x = 3 + 2j
y = -15j

print(type(x))
print(type(y))

``` 

## Numbers Types Conversion

To convert numbers from one type (from the three) to another, we used methods.

In Python, a method is a function that is available for a given object because of the object's type.
So, You can convert from one type to another with the int(), float(), and complex() methods:


```

x = 4    # int number
y = 0.8  # float number
z = 4j   # complex number

# from int to float:
a = float(x)

# from float to int:
b = int(y)

# from int to complex:
c = complex(x)

print(a)
print(b)
print(c)

print(type(a))
print(type(b))
print(type(c))

``` 

## Let's Build a Simple Calculator


```
# Python Simple calculator

# Addition Function
def add(x, y):
    return x + y

# Substraction Function
def subtract(x, y):
    return x - y

# Multiplication Function
def multiply(x, y):
    return x * y

# Division Function
def divide(x, y):
    return x / y


def calculate(first_number, second_number, operator):
    if operator == "+":
        answer = add(first_number, second_number)
        return answer
        
    elif operator == "-":
        answer = subtract(first_number, second_number)
        return answer
        
    elif operator == "/":
        answer = divide(first_number, second_number)
        return answer
    elif operator == "*" or operator == "x":
        answer = subtract(first_number, second_number)
        return answer
    else:
        return "Invalid"
    

num1 = int(input("Enter the first number: "))
num2 = int(input("Enter the second number: "))
operator = input("Enter the Operator: ")

print(f"{num1} {operator} {num2} = {calculate(num1, num2, operator)}")

``` 



## Python Strings

Strings in python are surrounded by: 
- Single quotation marks 
```
'bonjour'
``` 

- Double quotation marks
```
"bonjour"
``` 

## Use a Variable to save the String

The assignment sign is made of *=* (equal sign).


```
name = "Kennedy"
role = "Software Engineer"
print(name)
print(role)
``` 
## We can also use Multiline Strings

```
poem = """Your face is the grave of your nose
your face is the grave of your ears
your face is the grave of your face
once again your face overflows uncontrollably."""

print(poem)
``` 

## Accessing a Character of the String

We can think of strings like an array made of characters. For example, the word "Elon Musk" is made of "E", "l", "o", "n", " ", "M", "u", "s" and "k" (Notice the space is also counted as a character).

The first character is counted at index 0 (not 1). 

```
greeting = "Hello, World!"
print(greeting[1]) #prints "e" 
``` 

## Working with Strings

### Checking the String Length

use the `len()` function
```
name = "Kennedy"
length_of_name = len(name)

print(length_of_name)
``` 

### Checking an existing string or character in a string

Use the `in` keyword.
```
sentence = "Kennedy is a python programmer"
if "python" in a sentence:
  print("Yes, 'python' is present.")
``` 

### Most Common String Methods


- `capitalize()` method converts the first character of a string to an uppercase letter and lowercases all other characters.

```
name = "python"
print(name.capitalize())
``` 

- `casefold()` method Converts string into lower case.

```
name = "PYTHON"
print(name.casefold())
``` 


- `upper()` method converts all the characters into Uppercase.

```
name = "python"
print(name.upper())
``` 

- `lower()` method converts all the characters into Lowercase.

```
name = "PYTHON"
print(name.lower())
``` 

- `len()` method used to count the total number of characters in a string.

```
name = "python"
print( len(name) )
``` 

- `find()` searches the string for a specified value and returns the position of where it was found.

```
sentence = "python is great"
print( sentence.find('great') )
``` 

- `replace()` is used to replace a string with another.

```
sentence = "python is great"
new_sentence = sentence.replace('great', 'awesome') 
print(new_sentence)
``` 

- `str()` is used for string conversion

```
ten = str(10)
print(ten) #converts 10 to '10'
``` 

- You can find more in the [Python.org Official Docs](https://docs.python.org/2.5/lib/string-methods.html) 



### Let's work on a Small Project

#### - Arrange string characters such that lowercase letters should come first

Initial Code
`noun = PrOgRamMinG`
`# Expected Output : rgaminPORMG`


Solution

```
noun = "PrOgRamMinG"

def arrange_string(my_string):
    print('Original String:', my_string)
    lower = []
    upper = []
    
    #Let's iterate and convert
    for char in my_string:
        if char.islower():
            # add lowercase characters to lower list
            lower.append(char)
        else:
            # add uppercase characters to lower list
            upper.append(char)
    
    # Join both list
    sorted_str = ''.join(lower + upper)
    print('Result:', sorted_str)

# Now, let's call execute the function we just created! 
arrange_string(noun)

# Output: 
# Original String: PrOgRamMinG
# Result: rgaminPORMG
``` 




Resources for more Details:
- [www.w3schools.com](https://www.w3schools.com/python/) 
- [www.programiz.com](https://www.programiz.com/python-programming) 
- [www.pynative.com/](https://pynative.com/python-string-exercise/#h-exercise-4-arrange-string-characters-such-that-lowercase-letters-should-come-first) 



👉 [DISCOVER MORE useful ARTICLES](https://dev.to/codewithkenn)



Thanks for reading this article, many others are coming very soon, Feel free to subscribe 🤙.

## 🌎 Let's connect
- [Twitter](https://twitter.com/CodeWithKenn) 
- [Github](https://github.com/KennStack01) 
- [LinkedIn](https://www.linkedin.com/in/kennkibadi/) 
- [Instagram](https://www.instagram.com/codewithkenn_/) 

Want to start blogging?  🔥[Join NOW!](https://hashnode.com/@CodeWithKenn/joinme)