ASSIGNMENT # 01
CSC462-ARTIFICAL INTELLIGENCE(LAB)
SUBMITTED BY:
RAO MUHAMMAD AHSAN SALEEM
SUBMITTED TO:
MR. MUHAMMAD AHMAD FARID
REGISTRATION NO.
FA22-BCS-226
DEPARTMENT OF COMPUTER SCIENCE
COMSATS UNIVERSITY ISLAMABAD SAHIWAL CAMPUS
LAB 01
Activity 01
Let us take an integer from user as input and check whether the given value is even or not.
Input
n=int(input(" Enter a number:"))
if n%2==0:
print("The given number is an even number")
else:
print("The given number is an odd number")
Output
Enter a number:1
The given number is an odd number
Activity 02
Write a Python code to keep accepting integer values from user until 0 is entered. Display
sum of the given values.
Input
sum=0
s=int(input("Enter an integer value..."))
while s!=0:
sum=sum+s
s=int(input("Enter an integer value..."))
print("Sum of given value is",sum)
Output
Enter an integer value...1
Enter an integer value...3
Enter an integer value...3
Enter an integer value...0
Sum of given value is 7
Activity 03
Write a Python code to accept an integer value from user and check that whether the given
value is prime number or not.
Input
isprime = True
i=2
n=int(input("Enter a number:"))
while i<n:
remainder=n%i
if remainder==0:
isprime=False
break
else:
i=i+1
if isprime:
print("Number is Prime")
else:
Print("Number is not Prime")
Output
Enter a number:2
Number is Prime
Activity 04
Accept 5 integer values from user and display their sum. Draw flowchart before coding in
python.
Input
sum = 0
i=0
while i<=4:
s=input("enter a number:")
n=int(s)
sum=sum+n
i=i+1
print("sum is", sum)
Output
enter a number:3
enter a number:4
enter a number:5
enter a number:6
enter a number:2
sum is 20
Activity 05
Calculate the sum of all the values between 0-10 using while loop.
Input
summation = 0
i=1
while i<=10:
summation=summation+i
i=i+1
print("sum is",summation)
Output
sum is 55
Lab Task 01
Write a program that prompts the user to input an integer and then outputs the number with
the digits reversed. For example, if the input is 12345, the output should be 54321.
Input
number=input("Enter any number:")
reversed=number[ : :-1]
print("Reverse of entered number is :",reversed)
Output
Enter any number:12
Reverse of entered number is : 21
Lab Task 02
Write a program that reads a set of integers, and then prints the sum of the even and odd
integers.
Input
def sum(numbers):
even_sum=0
odd_sum=0
for num in numbers:
if num%2==0:
even_sum=even_sum + num
else:
odd_sum=odd_sum + num
return even_sum,odd_sum
numbers=(input("Enter list of numbers:")).split()
numbers=[int(num) for num in numbers ]
even_sum,odd_sum=sum(numbers)
print("Sum of entered even numbers is:",even_sum)
print("Sum of entered odd numbers is:",odd_sum)
Output
Enter list of numbers:12 31 56 78
Sum of entered even numbers is: 146
Sum of entered odd numbers is: 31
Lab Task 03
Fibonacci series is that when you add the previous two numbers the next number is formed.
You have to start from 0 and 1.
Input
def fibonachi_series(n):
a=0
b=1
series=[]
for _ in range(n):
series.append(a)
a,b=b,a+b
return series
n=int(input("Enter any number for terms for Fibonacchi series:"))
result=fibonachi_series(n)
print("Result of Fibonacchi series:"," ".join(map(str,result)))
Output
Enter any number for terms for Fibonacchi series:3
Result of Fibonacchi series: 0 1 1
Lab Task 04
Write a Python code to accept marks of a student from 1-100 and display the grade according
to the following formula.
Grade F if marks are less than 50
Grade E if marks are between 50 to 60
Grade D if marks are between 61 to 70
Grade C if marks are between 71 to 80
Grade B if marks are between 81 to 90
Grade A if marks are between 91 to 100
Input
def determiner(marks):
if marks < 50:
return 'F'
elif 50 <= marks <= 60:
return 'E'
elif 60 <= marks <= 70:
return 'D'
elif 70 <= marks <= 80:
return 'C'
elif 80 <= marks <= 90:
return 'B'
else:
return 'A'
marks = int(input("Enter marks between (1-100): "))
result = determiner(marks)
if 0 <= marks <= 100:
print("Your Grade is:", result)
else:
print("Please put valid marks.")
Output
Enter marks between (1-100): 56
Your Grade is: E
Lab Task 05
Write a program that takes a number from user and calculate the factorial of that number.
Input
def factor(number):
factorial=1
for i in range(1,number+1):
factorial=factorial*i
return factorial
number=int(input("Enter any number to find factorial:"))
if number < 0:
print("Factorial is not valid for this number")
elif number == 1:
print("Factorial of number is 1")
else:
result=factor(number)
print("Factorial of",number,"is:",result)
Output
Enter any number to find factorial:34
Factorial of 34 is: 295232799039604140847618609643520000000
LAB 02
List
Input
list=['G','E','E','K','S','F','O','R','G','E','E','K','S']
print('Initial list: ')
print(list)
sliced_list=list[3:8]
print("Sliced List")
print(sliced_list)
sliced_list=list[5:]
print(sliced_list)
sliced_list=list[:]
print("\nPrinting all elements using slice operation: ")
print(sliced_list)
sliced_list=list[:-6]
print("\nElements sliced till 6th element from last")
print(sliced_list)
sliced_list=list[::-1]
print("\nPrinting elements in reverse")
print(sliced_list)
Output
Initial list:
['G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S']
Sliced List
['K', 'S', 'F', 'O', 'R']
['F', 'O', 'R', 'G', 'E', 'E', 'K', 'S']
Printing all elements using slice operation:
['G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S']
Elements sliced till 6th element from last
['G', 'E', 'E', 'K', 'S', 'F', 'O']
Printing elements in reverse
['S', 'K', 'E', 'E', 'G', 'R', 'O', 'F', 'S', 'K', 'E', 'E', 'G']
Activity 01
Accept two lists from user and display their join.
Input
mylist1=[]
print("Enter objects of first list...")
for i in range(5):
val=input("Enter a value:")
n=int(val)
mylist1.append(n)
mylist2=[]
print("Enter objects of second list...")
for i in range(5):
val=input("Enter a value:")
n=int(val)
mylist2.append(n)
list3=mylist1+mylist2
print(list3)
Output
Enter objects of first list...
Enter a value:1
Enter a value:2
Enter a value:3
Enter a value:4
Enter a value:5
Enter objects of second list...
Enter a value:9
Enter a value:8
Enter a value:7
Enter a value:6
Enter a value:6
[1, 2, 3, 4, 5, 9, 8, 7, 6, 6]
Activity 02
Write a function in python that receives a string and returns True if that string is a
palindrome and False otherwise. Remember that difference between upper and lower case
characters are ignored during this determination.
Input
n=input("Enter a word:")
def palindrome(word):
reverse=word[::-1]
if reverse.capitalize()==word.capitalize():
return True
else:
return False
print(palindrome("deed"))
Output
Enter a word:ahsan
True
Activity 03
Write a python code that finds another matrix/2D list that is a product of and b, i.e., C=a*b
Input
a = [[3, 2, 0], [6, 7, 0], [8, 7, 1]]
b = [[4, 5, 3], [3, 5, 1], [7, 7, 9]]
c = []
for indrow in range(3):
c.append([])
for indcol in range(3):
c[indrow].append(0)
for indaux in range(3):
c[indrow][indcol] += a[indrow][indaux] * b[indaux][indcol]
print(c)
Output
[[18, 25, 11], [45, 65, 25], [60, 82, 40]]
Activity 04
Write a python function that takes a list of N tuples as input and returns the perimeter of the
polygon. Remember that your code should work for any value of N.
Input
def perimeter(listing):
leng = len(listing)
perimeter = 0
for i in range(0, leng - 1):
dist = (((listing[i][0] - listing[i + 1][0]) ** 2) + ((listing[i][1] - listing[i + 1][1]) ** 2)) ** 0.5
perimeter += dist
perimeter += (((listing[0][0] - listing[leng - 1][0]) ** 2) + ((listing[0][1] - listing[leng - 1][1]) ** 2))
** 0.5
return perimeter
L = [(3, -3), (2, 7), (3, 12), (-1, 8)]
print(perimeter(L))
Output
32.51044929492568
Lab Task 01
Create two lists based on the user values. Merge both the lists and display in sorted
order.
Input
Students = ['Ahsan', 'Adil', 'Aqil']
Teachers = ['Mr.Ali', 'Mr.Ahad', 'Mr.Fahad']
merged_list = Students + Teachers
sorted_list = sorted(merged_list)
print(sorted_list)
Output
['Adil', 'Ahsan', 'Aqil', 'Mr.Ahad', 'Mr.Ali', 'Mr.Fahad']
Lab Task 02
Repeat the above activity to find the smallest and largest element of the list. (Suppose
all the elements are integer values).
Input
Students = [10]
Teachers = [5]
merged_list = Students + Teachers
smallest_element = min(merged_list)
largest_element = max(merged_list)
print("Smallest element:", smallest_element)
print("Largest element:", largest_element)
Output
Smallest element: 5
Largest element: 10