Python Basic Part 1
Python Basic Part 1
When to use: When you want to complete some task that requires you to do
some sort of sub tasks more than one time
2. For Loop
While Loop
When to use:
1. If you always want to run a block of code
initializing_loop_controller
while (condition):
block_of_code
increment/decrement
initial_val = 0 #3
#2<3
while initial_val<3: #2
print("Doing some task", initial_val)
initial_val += 1 # 2+1 = 3
print("remaining lines of the code")
#Condition can be simply given as True boolean value
initial_val = 0
while True:
print("Doing some task")
initial_val += 1
#No increment or decrement was done
initial_val = 0
while initial_val<5:
print("Doing some task")
#Increment or Decrement might not be relevant to the condition
initial_val = 0 #
while initial_val<5:
print("Doing some task")
initial_val -= 1
Loop Control
We can use some keywords to control the flow of a loop. These keywords are:
1. break (Ends the loop without considering ending condition)
2. continue (Skips the current iteration of the loop and continues to the next one)
#break statement
task_no = 1 #3
#3<=5
while task_no<=5:
#3==3
if task_no==3:
print("Doing task",task_no)
break
print("Doing task",task_no)
task_no += 1
print("remaining.....")
#continue statement
task_no = 1 #3
#3<=5
while task_no<=5:
#3==3
if task_no==3:
continue
#....
print("Doing task",task_no)
task_no += 1
#continue statement
task_no = 1
while task_no<=5:
if task_no==3:
task_no += 1
continue
print("Doing task",task_no)
task_no += 1
Doing task 1
Doing task 2
Doing task 4
Doing task 5
house_no = 1
room_no = 1
#1
while house_no <= 4:
print("Entered House #",house_no)
#1
while room_no <= 3:
print("Entered Room #",room_no, "of House #", house_no)
room_no += 1
print("Leaving House #", house_no)
room_no = 1
house_no +=1
We keep the element of the list between thrird braces and separated by comma
#List can be of integer types
int_list = [1, 2, 3, 4, 5, 6]
#list can be of string type
str_list = ["Alice", "Bob", "Charlie", "Dave", "Ethan"]
#List can also be of another data types which we will see later
Indexing of List
Each element in a list have their specific index
For that we have to write the variable that is assigned to the list and put the
index number within the third braces
var_name_the_list_was_assigned_to[indexNo]
#Indexing of a list
str_list = ["Alice", "Bob", "Charlie", "Dave", "Ethan"]
# -5 -4 -3 -2 -1
print(str_list[0])
print(str_list[1])
print(str_list[-1]
print(str_list[-6])
#0 to N-1 -> 0 to 4
#Neg Indexing -1 to -N -> -1 to -5
For Loop
When to use:
2. If you want to run any repetitive block of code for fixed number of times
block_of_code
names = ["Alice", "Bob", "Charlie", "Dave", "Ethan"]
for elem in names:
print(elem)
#...... 3k
print("while loop")
count = 1 #6
#6<=5
while count<=len(names):
#names[1]
print(names[count-1])
count +=1
print("remaining.....")
start indicates the starting value of the range. If it is not defined, the inital value
is 0. This is inclusive, meaning it will start from the value the function is given
end indicates the stopping value of the range. Must be defined for the function
to work. This is exclusive, meaning the range will end before this value and will
not include this value
step_size indicates how the range will increase or decrease. The default value
is 1 which indicates the value in the range increases by 1
for num in range(-2, -14, -3):
print(num)
for house_no in range(1,5):
if house_no==3:
break
print("Entered House #",house_no)
for room_no in range(1,4):
print("Entered Room #",room_no, "of House #", house_no)
if house_no==2 and room_no==2:
break
print("Remaining lines of codes")
#Show Loop Control Statements
Few Problems
#3-10
#Adding all the odd numbers from 1 to 50
val = 1
sum_ = 0
while val <= 50:
if val%2==1:
sum_ += val
val += 1
print(sum_)
625
sum_ = 0
for i in range(1,51):
if(i%2==1):
sum_ += i
print(sum_)
625
val = 1
sum_ = 0
while val <= 50:
sum_ += val
val += 2
print(sum_)
625
sum_ = 0
for i in range(1,51,2):
sum_ += i
print(sum_)
625
#11-13
#Printing the digits in the numbner
num = int(input("Please enter a number: "))
#253 -> 2, 5, 3
#253//100 = 2
#2*10^2+5*10^1+3*10^0
# 200+ 50+3
# = 253
#divide it by 10^2
#10^(no_of_digits-1)
#84657 -> 8, 4, 6, 5, 7
#84657//10000 = 8
#84657%10000 = 4657 -> 10^4/10 -> 10^3
#We need to figure out how many digits are there
num_copy = num
count_digit = 0
while num_copy > 0:
#print(num_copy%10) #-> Prints the last digit
count_digit += 1
num_copy = num_copy//10
#print("Total Digits", count_digit)
#num_copy= 0 #count_digit = 3
#while 0 > 0:
#print(0%10) -> 5, 3, 2
#count_digit += 1
#num_copy = 0//10 -> 0
#we found the digit count now need to follow the simple algorithm
#lets store that number which we need to divide by to a variable
#84657
#84657//10000 = 8
#84657%10000 = 4657
#4657
#4657//1000 = 4
#4657%1000 = 657
floor_div = 10**(count_digit-1)
#print(floor_div)
while num > 0:
print(num//floor_div)
num = num%floor_div
floor_div = floor_div//10
#num = 0
#floor_div = 1
#while 0 > 0:
#print(0//1) -> 2, 3, 5
#num = 0%1 -> 0
#floor_div = 1//10 -> 0
#14-16
#Finding if the number is prime
starting = 2
ending = int(input("Please enter a number: "))
#If a number is prime, it is only divisable by 1 and that number. so the prime number is divi
str_ = ""
for i in range(starting, ending+1):
div_count = 0
for j in range(1, i+1):
if i%j==0:
div_count += 1
if div_count == 2:
print(i)
str_ += str(i)+","
print(str_[:-1])
num = int(input("Please enter a number: "))
isPrime = True
for i in range(2, num):
if num%i==0:
isPrime = False
print("Number is not a prime number")
break
if isPrime:
print("Number is a prime number")
#17
#Check min max and avg from user input
#Ask the user how many number he wants to input
quan = int(input("Please enter the number of times you want to provide input "))
#5
#-5, 36, 21, -35, 72
#max=72
#min=-35
#sum=89
#avg= 89/5
min_ = 0
max_ = 0
sum_ = 0
avg_ = 0
for i in range(quan):
num = int(input("Please enter the number "))
if i==0:
min_ = num
max_ = num
else:
if num > max_:
max_ = num
if num < min_:
min_ = num
sum_ += num
avg_ = sum_/quan
print("Max num is ", max_)
print("Min num is ", min_)
print("Average is ", avg_)
##
###
####
#####
#18-20
#Printing patterns
#initiate row and column
row_ = 5
column_ = 5
# 3 [1,2,3,4,5]
for current_row in range(1,row_+1):
# 1 [1,2,3] (1,4)
for current_column in range(1,current_row+1):
print("#", end="")
print("")
#