Python Programming: An Introduction to Computer Science, 3rd Ed.
Python Programming: An Introduction to Computer Science, 3rd Ed.
3rd Edition
ISBN: 9781590282755
Author: John Zelle
Publisher: Franklin, Beedle & Associates
bartleby

Videos

Question
Book Icon
Chapter 10, Problem 3PE
Program Plan Intro

Three Button Monte

Program Plan:

  • Import the required packages.
  • Declare a main function. Inside the main function,
    • Create the application window.
    • Draw the interface widget by creating three buttons.
    • Assign the text to the interface.
    • Call the method “draw()”.
    • Get the random number.
    • Assign the values to “false”.
    • Check the condition.
      • Assign “point1” to “true”.
    • Check the condition.
      • Assign the “point2” to “true”.
    • Otherwise, Assign the “point3” to “true”
    • Activate all the three doors.
    • Get the action mouse clicked.
    • Check the condition using “while” loop.
      • Check the condition for selecting the door 1 to be clicked.
      • Check the condition for selecting the door 2 to be clicked.
      • Check the condition for selecting the door 3 to be clicked.
    • Call the “getMouse()” function
  • Call the main function.

Expert Solution & Answer
Check Mark

Explanation of Solution

Program:

Refer the program “button.py” given in the “Chapter 10” from the text book. Add the method “update()” along with the given code.

#Define the method update

    def update(self, win, label):

        #Call the method undraw()

        self.label.undraw()

        #Assign the position to centre

        center = self.center

        #Assign the label

        self.label = Text(center, label)

        #Set active to false

        self.active = False

        #Call the method draw()

        self.label.draw(win)

Main.py:

#Import the required packages

from button import Button

from graphics import GraphWin, Point, Text

from random import random

#Definition of main method

def main():

   #Creating the application window by setting title, cords and background

    win = GraphWin("Three Button Monte", 500, 300)

    win.setCoords(-12, -12, 12, 12)

    win.setBackground("green3")

    #Draw the interface widget by creating three button

    door1 = Button(win, Point(-7.5, -3), 5, 6, "Door 1")

    door2 = Button(win, Point(0, -3), 5, 6, "Door 2")

    door3 = Button(win, Point(7.5, -3), 5, 6, "Door 3")

    #Assign the text to the interface

    direction = Text(Point(0, 10), "Pick a Door")

    #Call the method draw

    direction.draw(win)

    #Get the random number

    x = random() * 3

    #Assign the values to false

    point1 = point2 = point3 = False

    #check the condition

    if 0 <= x <1:

        #Assign point1 to True

        point1 = True

        #Chcek the condition

    elif 1 <= x < 2:

        #Assign the point2 to True

        point2 = True

        #Otherwise

    else:

        #Assign the point3 to True

        point3 = True

    #Activate all the three doors

    door1.activate()

    door2.activate()

    door3.activate()

    #Get the action mouse click

    click = win.getMouse()

#Check the condition using "while" loop

    while door1.clicked(click) or door2.clicked(click) or door3.clicked(click):

    #If door1 is clicked

        if door1.clicked(click):

            #Assign point1 to true

            if point1 == True:

                #Update the interface

                door1.update(win,"Victory!")

            else:

                 #If door1 is clicked

                if door2.clicked(click):

                     #Update the interface

                    door2.update(win,"Correct Door.")

                    #Get the action mouse click

                    click = win.getMouse()

                else:

                       #Update the interface

                    door3.update(win,"Correct door.")

                     #Get the action mouse click

                    click = win.getMouse()

             #If door2 is clicked        

        elif door2.clicked(click):

              #Assign point2 to true

            if point2 == True:

                  #Update the interface 

                door2.update(win,"Victory!")

            else:

                    #If door2 is clicked   

                if door3.clicked(click):

                    #Update the interface

                    door3.update(win,"Correct Door.")

                      #Get the action mouse click

                    click = win.getMouse()

                else:

                    #Update the interface 

                    door1.update(win,"Correct door.")

                      #Get the action mouse click

                    click = win.getMouse()

        else:

            #Assign point3 to true

            if point3 == True:

                 #Update the interface 

                door3.update(win,"Victory!")

            else:

                 #If door2 is clicked   

                if door2.clicked(click):

                    #Update the interface 

                    door2.update(win,"Correct Door.")

                    #Get the action mouse click

                    click = win.getMouse()

                else:

                     #Update the interface 

                    door1.update(win,"Correct door.")

            #Get the action mouse click

                    click = win.getMouse()

 #Call the getMouse()

    win.getMouse()

  #Call the main function 

main()

Sample Output

Output:

Screenshot of output

Python Programming: An Introduction to Computer Science, 3rd Ed., Chapter 10, Problem 3PE , additional homework tip  1

Screenshot of output

Python Programming: An Introduction to Computer Science, 3rd Ed., Chapter 10, Problem 3PE , additional homework tip  2

Want to see more full solutions like this?

Subscribe now to access step-by-step solutions to millions of textbook problems written by subject matter experts!
Students have asked these similar questions
My daughter is a Girl Scout and it is time for our cookie sales. There are 15 neighbors nearby and she plans to visit every neighbor this evening. There is a 40% likelihood that someone will be home. If someone is home, there is an 85% likelihood that person will make a purchase. If a purchase is made, the revenue generated from the sale follows the Normal distribution with mean $18 and standard deviation $5. Using @RISK, simulate our door-to-door sales using at least 1000 iterations and report the expected revenue, the maximum revenue, and the average number of purchasers. What is the probability that the revenue will be greater than $120?
Q4 For the network of Fig. 1.41: a- Determine re b- Find Aymid =VolVi =Vo/Vi c- Calculate Zi. d- Find Ay smid e-Determine fL, JLC, and fLE f-Determine the low cutoff frequency. g- Sketch the asymptotes of the Bode plot defined by the cutoff frequencies of part (e). h-Sketch the low-frequency response for the amplifier using the results of part (f). Ans: 28.48 2, -72.91, 2.455 KS2, -54.68, 103.4 Hz. 38.05 Hz. 235.79 Hz. 235.79 Hz. 14V 15.6ΚΩ 68kQ 0.47µF Vo 0.82 ΚΩ V₁ B-120 3.3kQ 0.47µF 10kQ 1.2k0 =20µF Z₁ Fig. 1.41 Circuit for
a. [10 pts] Write a Boolean equation in sum-of-products canonical form for the truth table shown below: A B C Y 0 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 1 1 1 1 0 1 1 0 a. [10 pts] Minimize the Boolean equation you obtained in (a). b. [10 pts] Implement, using Logisim, the simplified logic circuit. Include an image of the circuit in your report.
Knowledge Booster
Background pattern image
Computer Science
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
Programming Logic & Design Comprehensive
Computer Science
ISBN:9781337669405
Author:FARRELL
Publisher:Cengage
Text book image
EBK JAVA PROGRAMMING
Computer Science
ISBN:9781337671385
Author:FARRELL
Publisher:CENGAGE LEARNING - CONSIGNMENT
Text book image
Microsoft Visual C#
Computer Science
ISBN:9781337102100
Author:Joyce, Farrell.
Publisher:Cengage Learning,
Text book image
EBK JAVA PROGRAMMING
Computer Science
ISBN:9781305480537
Author:FARRELL
Publisher:CENGAGE LEARNING - CONSIGNMENT
Text book image
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning
Text book image
C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr
Java random numbers; Author: Bro code;https://www.youtube.com/watch?v=VMZLPl16P5c;License: Standard YouTube License, CC-BY