118 lines
4.5 KiB
Python
118 lines
4.5 KiB
Python
'''
|
||
Problem Statement: In second year computer engineering class, group A student’s play cricket, group B students play badminton and group C students play football.
|
||
Write a Python program using functions to compute following:
|
||
a) List of students who play both cricket and badminton
|
||
b) List of students who play either cricket or badminton but not both
|
||
c) Number of students who play neither cricket nor badminton
|
||
d) Number of students who play cricket and football but not badminton.
|
||
(Note- While realising the group, duplicate entries should be avoided, Do not use SET built-in functions)
|
||
|
||
Code from Data Structure Lab (SPPU - Second Year - Computer Engineering - Content) repository on KSKA Git: https://git.kska.io/sppu-se-comp-codes/DSL
|
||
'''
|
||
|
||
# BEGINNING OF CODE
|
||
# List to store players
|
||
cricketPlayers = []
|
||
badmintonPlayers = []
|
||
footballPlayers = []
|
||
|
||
# Input cricket
|
||
def cricketInput():
|
||
total = int(input("Total number of CRICKET players:\t"))
|
||
for i in range(total):
|
||
players = int(input(f"Roll number of player {i+1}:\t"))
|
||
cricketPlayers.append(players)
|
||
print(f"\n----------\nStudents playing cricket:\t {cricketPlayers}\n----------\n")
|
||
|
||
# Input badminton
|
||
def badmintonInput():
|
||
total = int(input("Total number of BADMINTON players:\t"))
|
||
for i in range(total):
|
||
players = int(input(f"Roll number of player {i+1}:\t"))
|
||
badmintonPlayers.append(players)
|
||
print(f"\n----------\nStudents playing badminton:\t {badmintonPlayers}\n----------\n")
|
||
|
||
# Input football
|
||
def footballInput():
|
||
total = int(input("Total number of FOOTBALL players:\t"))
|
||
for i in range(total):
|
||
players = int(input(f"Roll number of player {i+1}:\t"))
|
||
footballPlayers.append(players)
|
||
print(f"\n----------\nStudents playing football:\t {footballPlayers}\n----------\n")
|
||
|
||
# Playing both cricket and badminton
|
||
def CricketAndBadminton():
|
||
listCricketAndBadminton = []
|
||
for i in cricketPlayers:
|
||
if i in badmintonPlayers:
|
||
listCricketAndBadminton.append(i)
|
||
print(f"\n----------\nStudents playing cricket and badminton:\t {listCricketAndBadminton}\n----------\n")
|
||
|
||
# Either cricket or badminton but not both
|
||
def CricketOrBadminton():
|
||
listCricketOrBadminton = []
|
||
for i in cricketPlayers:
|
||
if i not in badmintonPlayers:
|
||
listCricketOrBadminton.append(i)
|
||
for i in badmintonPlayers:
|
||
if i not in cricketPlayers:
|
||
listCricketOrBadminton.append(i)
|
||
print(f"\n----------\nStudents playing cricket or badminton (but not both):\t {listCricketOrBadminton}\n----------\n")
|
||
|
||
# Neither cricket nor badminton, i.e. football only
|
||
def FootballOnly():
|
||
listCricketAndBadminton = []
|
||
listFootballOnly = []
|
||
for i in cricketPlayers:
|
||
listCricketAndBadminton.append(i)
|
||
for i in badmintonPlayers:
|
||
if i not in cricketPlayers:
|
||
listCricketAndBadminton.append(i)
|
||
for i in footballPlayers:
|
||
if i not in listCricketAndBadminton:
|
||
listFootballOnly.append(i)
|
||
print(f"\n----------\nTotal students playing football only are:\t{len(listFootballOnly)}\nList:\t{listFootballOnly}\n----------\n")
|
||
|
||
# Cricket and football but not badminton
|
||
def notBadminton():
|
||
listNotBadminton = []
|
||
for i in cricketPlayers:
|
||
if i in footballPlayers:
|
||
if i not in badmintonPlayers:
|
||
listNotBadminton.append(i)
|
||
print(f"\n----------\nTotal students not playing badminton (but do play cricket and football):\t{len(listNotBadminton)}\nList:\t{listNotBadminton}\n----------\n")
|
||
|
||
# Main function with options
|
||
def main():
|
||
print("----- ENTER ROLL NUMBERS IN LIST -----")
|
||
cricketInput()
|
||
badmintonInput()
|
||
footballInput()
|
||
print("----- ROLL NUMBERS SAVED -----\n")
|
||
while (1):
|
||
print("\n----- MAIN MENU -----")
|
||
print("1 -> Students playing both cricket and badminton")
|
||
print("2 -> Students playing either cricket or badminton, but not both")
|
||
print("3 -> Students playing neither cricket nor badminton (i.e. football only)")
|
||
print("4 -> Students playing cricket and football, but not badminton")
|
||
print("5 -> Exit")
|
||
|
||
optn = int(input("Choose an option (1-5):\t"))
|
||
|
||
if (optn == 1):
|
||
CricketAndBadminton()
|
||
elif (optn == 2):
|
||
CricketOrBadminton()
|
||
elif (optn == 3):
|
||
FootballOnly()
|
||
elif (optn == 4):
|
||
notBadminton()
|
||
elif (optn ==5):
|
||
print("\n\n## END OF CODE\n\n")
|
||
quit()
|
||
else:
|
||
print("\n\nPlease choose a valid option (1-5)\n\n")
|
||
|
||
main()
|
||
# END OF CODE
|