This Python essential **exercise** is to help Python beginners to** learn necessary Python skills **quickly. Practice Python Basic Concepts such as Loops, Control structure, List, Strings, input-output, and built-in functions.

**Also See**:

**What Questions included in this Python fundamental exercise**?

- The exercise contains 15 questions. The solution is provided for each question.
- Each question contains the necessary skills you need to learn.

I have added tips and required learning resources for each question, which helps you solve the exercise. When you complete each question, you get more familiar with a control structure, loops, string, and list.

Use **Online Code Editor** to solve exercise questions.

Also, try to solve the basic Python Quiz for beginners

This **Python exercise covers questions on the following topics**:

- Python for loop and while loop
- Python list, set, tuple, dictionary, input, and output

#### Exercise 1: Given two integer numbers return their product. If the product is greater than 1000, then return their sum

Reference article for help:

**Given** 1:

number1 = 20 number2 = 30

**Expected Output**:

The result is 600

**Given** 2:

number1 = 40 number2 = 30

**Expected Output**:

The result is 70

## Show Solution

```
def multiplication_or_sum(num1, num2):
# calculate product of two number
product = num1 * num2
# check if product is less then 1000
if product <= 1000:
return product
else:
# product is greater than 1000 calculate sum
return num1 + num2
# first condition
result = multiplication_or_sum(20, 30)
print("The result is", result)
# Second condition
result = multiplication_or_sum(40, 30)
print("The result is", result)
```

#### Exercise 2: Given a range of the first 10 numbers, Iterate from the start number to the end number, and In each iteration print the sum of the current number and previous number

Reference article for help:

**Expected Output**:

Printing current and previous number sum in a range(10) Current Number 0 Previous Number 0 Sum: 0 Current Number 1 Previous Number 0 Sum: 1 Current Number 2 Previous Number 1 Sum: 3 Current Number 3 Previous Number 2 Sum: 5 Current Number 4 Previous Number 3 Sum: 7 Current Number 5 Previous Number 4 Sum: 9 Current Number 6 Previous Number 5 Sum: 11 Current Number 7 Previous Number 6 Sum: 13 Current Number 8 Previous Number 7 Sum: 15 Current Number 9 Previous Number 8 Sum: 17

## Show Solution

```
def sumNum(num):
previousNum = 0
for i in range(num):
sum = previousNum + i
print("Current Number", i, "Previous Number ", previousNum," Sum: ", sum)
previousNum = i
print("Printing current and previous number sum in a given range(10)")
sumNum(10)
```

#### Exercise 3: Given a string, display only those characters which are present at an even index number.

For example, `str = "pynative"`

so you should display ‘p’, ‘n’, ‘t’, ‘v’.

Reference article for help: Python Input and Output

**Expected Output**:

Orginal String is pynative Printing only even index chars p n t v

## Show Solution

```
def printEveIndexChar(str):
for i in range(0, len(str)-1, 2):
print("index[",i,"]", str[i] )
inputStr = "pynative"
print("Orginal String is ", inputStr)
print("Printing only even index chars")
printEveIndexChar(inputStr)
```

#### Exercise 4: Given a string and an integer number n, remove characters from a string starting from zero up to n and return a new string

For example, `removeChars("pynative", 4)`

so output must be `tive`

.

**Note**: `n`

must be less than the length of the string.

## Show Solution

```
def removeChars(str, n):
return str[n:]
print("Removing n number of chars")
print(removeChars("pynative", 4))
```

Also try to solve Python String Exercise

#### Exercise 5: Given a list of numbers, return True if first and last number of a list is same

**Expected Output**:

Given list is [10, 20, 30, 40, 10] result is True Given list is [10, 20, 30, 40, 50] result is False

## Show Solution

```
def isFirst_And_Last_Same(numberList):
print("Given list is ", numberList)
firstElement = numberList[0]
lastElement = numberList[-1]
if (firstElement == lastElement):
return True
else:
return False
numList = [10, 20, 30, 40, 10]
print("result is", isFirst_And_Last_Same(numList))
```

#### Exercise 6: Given a list of numbers, Iterate it and print only those numbers which are divisible of 5

**Expected Output**:

Given list is [10, 20, 33, 46, 55] Divisible of 5 in a list 10 20 55

## Show Solution

```
def findDivisible(numberList):
print("Given list is ", numberList)
print("Divisible of 5 in a list")
for num in numberList:
if (num % 5 == 0):
print(num)
numList = [10, 20, 33, 46, 55]
findDivisible(numList)
```

**Also try to solve Python list Exercise**

#### Exercise 7: Return the count of sub-string “Emma” appears in the given string

**Given**:

str = "Emma is good developer. Emma is a writer"

**Expected Output**:

Emma appeared 2 times

## Show Solution

```
sampleStr = "Emma is good developer. Emma is a writer"
# use count method of a str class
cnt = sampleStr.count("Emma")
print(cnt)
```

**Solution 2**: Without string function

```
def count_emma(statement):
print("Given String: ", statement)
count = 0
for i in range(len(statement) - 1):
count += statement[i: i + 4] == 'Emma'
return count
count = count_emma("Emma is good developer. Emma is a writer")
print("Emma appeared ", count, "times")
```

#### Exercise 8: Print the following pattern

1 2 2 3 3 3 4 4 4 4 5 5 5 5 5

Reference article for help: Print Pattern using for loop

## Show Solution

```
for num in range(10):
for i in range(num):
print (num, end=" ") #print number
# new line after each row to display pattern correctly
print("\n")
```

#### Exercise 9: Reverse a given number and return true if it is the same as the original number

**Expected Output**:

original number 121 The original and reverse number is the same original number 125 The original and reverse number is not same

## Show Solution

```
def reverseCheck(number):
print("original number", number)
originalNum = number
reverseNum = 0
while (number > 0):
reminder = number % 10
reverseNum = (reverseNum * 10) + reminder
number = number // 10
if (originalNum == reverseNum):
return True
else:
return False
print("The original and reverse number is the same:", reverseCheck(121))
```

#### Exercise 10: Given a two list of numbers create a new list such that new list should contain only odd numbers from the first list and even numbers from the second list

**Expected Output**:

list1 = [10, 20, 23, 11, 17] list 2 = [13, 43, 24, 36, 12] result List is [23, 11, 17, 24, 36, 12]

## Show Solution

```
def mergeList(listOne, listTwo):
print("First List ", listOne)
print("Second List ", listTwo)
thirdList = []
for num in listOne:
if (num % 2 != 0):
thirdList.append(num)
for num in listTwo:
if (num % 2 == 0):
thirdList.append(num)
return thirdList
listOne = [10, 20, 23, 11, 17]
listTwo = [13, 43, 24, 36, 12]
print("result List is", mergeList(listOne, listTwo))
```

**Note: **Try to solve Python list Exercise

Also, Test you basic concepts using Basic Python Quiz for Beginners.

#### Exercise 11: Write a code to extract each digit from an integer, in the reverse order

**Expected Output**:

If the given int is **7536**, the output shall be “**6 3 5 7**“, with a space separating the digits.

## Show Solution

```
number = 7536
print("Given number", number)
while (number > 0):
# get the last digit
digit = number % 10
# remove the last digit and repeat the loop
number = number // 10
print(digit, end=" ")
```

#### Exercise 12: Calculate income tax for the given income by adhering to the below rules

Taxable Income | Rate (in %) |
---|---|

First $10,000 | 0 |

Next $10,000 | 10 |

The remaining | 20 |

**Expected Output**:

For example, suppose that the taxable income is $45000 the income tax payable is

$10000*0% + $10000*10% + $25000*20% = $6000.

## Show Solution

```
income = 45000
taxPayable = 0
print("Given income", income)
if income <= 10000:
taxPayable = 0
elif income <= 20000:
taxPayable = (income - 10000) * 10 / 100
else:
# first 10,000
taxPayable = 0
# next 10,000
taxPayable = 10000 * 10 / 100
# remaining
taxPayable += (income - 20000) * 20 / 100
print("Total tax to pay is", taxPayable)
```

#### Exercise 13: Print multiplication table form 1 to 10

**Expected Output**:

1 2 3 4 5 6 7 8 9 10 2 4 6 8 10 12 14 16 18 20 3 6 9 12 15 18 21 24 27 30 4 8 12 16 20 24 28 32 36 40 5 10 15 20 25 30 35 40 45 50 6 12 18 24 30 36 42 48 54 60 7 14 21 28 35 42 49 56 63 70 8 16 24 32 40 48 56 64 72 80 9 18 27 36 45 54 63 72 81 90 10 20 30 40 50 60 70 80 90 100

## Show Solution

```
for i in range(1, 11):
for j in range(1, 11):
print(i * j, end=" ")
print("\t\t")
```

#### Exercise 14: Print downward Half-Pyramid Pattern with Star (asterisk)

* * * * * * * * * * * * * * *

Reference article for help: Print Pattern using for loop

## Show Solution

```
for i in range(6, 0, -1):
for j in range(0, i - 1):
print("*", end=' ')
print(" ")
```

#### Exercise 15: Write a function called `exponent(base, exp)`

that returns an int value of base raises to the power of exp.

Note here `exp`

is a non-negative integer, and the base is an integer.

**Expected output**

**Case 1:**

base = 2 exponent = 5 2 raises to the power of 5: 32 i.e. (2 *2 * 2 *2 *2 = 32)

**Case 2:**

base = 5

exponent = 4

5 raises to the power of 4 is: 625

i.e. (5 *5 * 5 *5 = 625)

## Show Solution

```
def exponent(base, exp):
num = exp
result = 1
while num > 0:
result = result * base
num = num - 1
print(base, "raises to the power of", exp, "is: ", result)
exponent(5, 4)
```

## Next Steps

I want to hear from you. What do you think of this basic exercise? If you have better alternative answers to the above questions, please help others by commenting on this exercise.

I have shown only 15 questions in this exercise because we have Topic-specific exercises to cover each topic exercise in detail. Please have a look at it.