softwarenow exam:2021
question 1: raw coding
from tkinter import *
root = Tk()
class Student:
def __init__(self):
self.name = ""
self.email = ""
self.enrollment_status = ""
self.course_enrolled = ""
class StudentEnrollmentSystem:
def __init__(self, root):
self.root = root
self.root.title("Student Enrollment System")
self.student = Student()
# Create buttons
button1 = Button(root, text="Button 1 (Student Name / Email)", command=self.get_student_info)
button2 = Button(root, text="Button 2 (Enrollment Status)", command=self.get_enrollment_status)
button3 = Button(root, text="Button 3 (Course Enrolled)", command=self.assign_course)
button4 = Button(root, text="Button 4 (Exit)", command=self.quit)
# Create grid
button1.grid(row=0, column=0)
button2.grid(row=0, column=1)
button3.grid(row=1, column=0)
button4.grid(row=1, column=1)
def get_student_info(self):
self.student.name = input("Enter Student Name: ")
self.student.email = input("Enter Student Email: ")
def get_enrollment_status(self):
self.student.enrollment_status = input("Enter Enrollment Status (full time / part time): ")
def assign_course(self):
self.student.course_enrolled = input("Enter Course Enrolled: ")
def quit(self):
self.root.destroy()
if __name__ == "__main__":
app = StudentEnrollmentSystem(root)
root.mainloop()
question 2:
It appears that Marsha's intention was to create a loop that starts with the value of i set to 20 and prints the value of i in each iteration while making some modifications to i. It looks like she intended to divide i by 2 if it's even (i % 2 == 0) and increment i by 1 if it's odd. The loop continues until i becomes less than or equal to 0.
However, there are a few mistakes in the code:
Missing parentheses for the print statement in Python 2.
The indentation of the print statement is not aligned properly.
The loop should run until i is greater than 0, but the code currently runs while i > 0, which means it will exit when i becomes 0.
Here's a corrected version of Marsha's code:
python code:
n = 20
i = 20
while i > 0:
print(i) # Added parentheses for the print statement
if i % 2 == 0:
i = i // 2 # Use integer division (//) to ensure i remains an integer
else:
i = i + 1
With these changes, the code should correctly print the values of i and modify it as described in Marsha's intention until i becomes less than or equal to 0.
alternavtive solution:
It seems that Marsha's code has several issues, and it's not entirely clear what her intention was. Let's analyze the code:
python
Copy code
n = 20
i = 20
while i > 0:
print i
if i % 2 == 0:
i = i / 2
else:
i = i + 1
Based on the code, it appears that Marsha might be trying to perform some kind of iterative process with the variable i. The code starts with i and performs the following actions:
If i is even, it is divided by 2.
If i is odd, 1 is added to it.
The loop continues as long as i is greater than 0.
Without more context, it's unclear what the intended purpose of this code is. However, I can suggest two possible interpretations and corresponding fixes:
Interpretation 1: Marsha might be trying to perform a sequence of transformations on i until it reaches a certain condition. Let's assume she wants to count the number of iterations required for i to reach 1 while printing each step.
python
Copy code
n = 20
i = 20
iteration = 0 # Initialize a variable to count the number of iterations
while i > 1: # Changed the condition to reach 1
print(i)
if i % 2 == 0:
i = i // 2 # Use integer division
else:
i = i + 1
iteration += 1 # Increment the iteration count
print("Iterations:", iteration) # Print the total number of iterations
Interpretation 2: Marsha might want to print a sequence of numbers, reducing i by half if it's even, and increasing it by 1 if it's odd until reaching a certain condition.
python
Copy code
n = 20
i = 20
while n > 0: # Changed the loop variable to 'n'
print(i)
if i % 2 == 0:
i = i // 2 # Use integer division
else:
i = i + 1
n -= 1 # Decrement 'n' to control the loop
The choice between these interpretations depends on Marsha's actual intent. She should clarify her intention and make the necessary corrections to the code accordingly.