class Keyboard: """A Keyboard takes in a list of buttons, and has a dictionary of positions as keys, and Buttons as values. >>> b1 = Button ("button1", "H") >>> b2 = Button ("button2", "I") >>> k = Keyboard ([b1, b2]) >>> "button1" in k.buttons.keys () # Make sure to add the button to dictionary True >>> k. buttons ["button1"]. letter 'H' >>> k. buttons ["button1"].name 'button1' >>> k. press ("button1") 'H' >>> k. press ("button100") 11 >>> b1.pressed 1 >>>b2.pressed 0 >>> k. typing ( ["button1", "button2"]) 'HI' >>> k. typing ( ["button2", "button1"]) 'IH' >>> b1.pressed # make sure typing calls press! 3 >>> b2.pressed 2 ||||| def _init__(self, buttons): self.buttons = {} "*** YOUR CODE HERE ***" def press (self, name): ""Takes in a name of the button pressed, and returns that button's letter. Return an empty string. if the button does not exist. You can access the keys of a dictionary d with d. keys (). *** "***** YOUR CODE HERE *****" def typing (self, typing_input): """Takes in a list of names of buttons to be pressed, and returns the total output. Make sure to call self.press""" "***** YOUR CODE HERE *****" class Button: def _init__(self, name, letter): self.name = name self. letter = letter
class Keyboard: """A Keyboard takes in a list of buttons, and has a dictionary of positions as keys, and Buttons as values. >>> b1 = Button ("button1", "H") >>> b2 = Button ("button2", "I") >>> k = Keyboard ([b1, b2]) >>> "button1" in k.buttons.keys () # Make sure to add the button to dictionary True >>> k. buttons ["button1"]. letter 'H' >>> k. buttons ["button1"].name 'button1' >>> k. press ("button1") 'H' >>> k. press ("button100") 11 >>> b1.pressed 1 >>>b2.pressed 0 >>> k. typing ( ["button1", "button2"]) 'HI' >>> k. typing ( ["button2", "button1"]) 'IH' >>> b1.pressed # make sure typing calls press! 3 >>> b2.pressed 2 ||||| def _init__(self, buttons): self.buttons = {} "*** YOUR CODE HERE ***" def press (self, name): ""Takes in a name of the button pressed, and returns that button's letter. Return an empty string. if the button does not exist. You can access the keys of a dictionary d with d. keys (). *** "***** YOUR CODE HERE *****" def typing (self, typing_input): """Takes in a list of names of buttons to be pressed, and returns the total output. Make sure to call self.press""" "***** YOUR CODE HERE *****" class Button: def _init__(self, name, letter): self.name = name self. letter = letter
Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
Related questions
Concept explainers
OOPs
In today's technology-driven world, computer programming skills are in high demand. The object-oriented programming (OOP) approach is very much useful while designing and maintaining software programs. Object-oriented programming (OOP) is a basic programming paradigm that almost every developer has used at some stage in their career.
Constructor
The easiest way to think of a constructor in object-oriented programming (OOP) languages is:
Question
![### Class: Keyboard
A `Keyboard` class is being defined, which takes in a list of buttons and maintains a dictionary with positions as keys and Button objects as values.
#### Code Implementation
```python
class Keyboard:
"""A Keyboard takes in a list of buttons, and has a dictionary of positions as keys, and Buttons as values."""
# Example of how to create buttons and a keyboard
>>> b1 = Button("button1", "H")
>>> b2 = Button("button2", "I")
>>> k = Keyboard([b1, b2])
# Ensure the button is added to the dictionary
>>> "button1" in k.buttons.keys()
True
# Accessing properties of the button
>>> k.buttons["button1"].letter
'H'
>>> k.buttons["button1"].name
'button1'
# Pressing a button and returning the letter
>>> k.press("button1")
'H'
# Trying to press a non-existent button
>>> k.press("button100")
''
# Checking if a button was pressed
>>> b1.pressed
0
>>> b2.pressed
0
# Simulating typing by pressing a series of buttons
>>> k.typing(["button1", "button2"])
'HI'
>>> k.typing(["button2", "button1"])
'IH'
# Ensure typing calls press
>>> b1.pressed
3
>>> b2.pressed
2
def __init__(self, buttons):
self.buttons = {}
"""*** YOUR CODE HERE ***"""
def press(self, name):
"""Takes in a name of the button pressed, and returns that button's letter. Returns an empty string if the button does not exist. You can access the keys of a dictionary d with d.keys()."""
"""*** YOUR CODE HERE ***"""
def typing(self, typing_input):
"""Takes in a list of names of buttons to be pressed, and returns the total output. Make sure to call self.press."""
"""*** YOUR CODE HERE ***"""
class Button:
def __init__(self, name, letter):
self.name = name
self.letter = letter
self.pressed = 0
```
#### Explanation
- **](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2Fc32a25d1-aced-4632-8199-60cb873673c0%2F71de65c0-b744-4323-b5d3-a97659f33e28%2Fccpuv8_processed.jpeg&w=3840&q=75)
Transcribed Image Text:### Class: Keyboard
A `Keyboard` class is being defined, which takes in a list of buttons and maintains a dictionary with positions as keys and Button objects as values.
#### Code Implementation
```python
class Keyboard:
"""A Keyboard takes in a list of buttons, and has a dictionary of positions as keys, and Buttons as values."""
# Example of how to create buttons and a keyboard
>>> b1 = Button("button1", "H")
>>> b2 = Button("button2", "I")
>>> k = Keyboard([b1, b2])
# Ensure the button is added to the dictionary
>>> "button1" in k.buttons.keys()
True
# Accessing properties of the button
>>> k.buttons["button1"].letter
'H'
>>> k.buttons["button1"].name
'button1'
# Pressing a button and returning the letter
>>> k.press("button1")
'H'
# Trying to press a non-existent button
>>> k.press("button100")
''
# Checking if a button was pressed
>>> b1.pressed
0
>>> b2.pressed
0
# Simulating typing by pressing a series of buttons
>>> k.typing(["button1", "button2"])
'HI'
>>> k.typing(["button2", "button1"])
'IH'
# Ensure typing calls press
>>> b1.pressed
3
>>> b2.pressed
2
def __init__(self, buttons):
self.buttons = {}
"""*** YOUR CODE HERE ***"""
def press(self, name):
"""Takes in a name of the button pressed, and returns that button's letter. Returns an empty string if the button does not exist. You can access the keys of a dictionary d with d.keys()."""
"""*** YOUR CODE HERE ***"""
def typing(self, typing_input):
"""Takes in a list of names of buttons to be pressed, and returns the total output. Make sure to call self.press."""
"""*** YOUR CODE HERE ***"""
class Button:
def __init__(self, name, letter):
self.name = name
self.letter = letter
self.pressed = 0
```
#### Explanation
- **
Expert Solution
![](/static/compass_v2/shared-icons/check-mark.png)
This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
This is a popular solution!
Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 2 images
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
Knowledge Booster
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.Recommended textbooks for you
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
![C How to Program (8th Edition)](https://www.bartleby.com/isbn_cover_images/9780133976892/9780133976892_smallCoverImage.gif)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
![Database Systems: Design, Implementation, & Manag…](https://www.bartleby.com/isbn_cover_images/9781337627900/9781337627900_smallCoverImage.gif)
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
![Programmable Logic Controllers](https://www.bartleby.com/isbn_cover_images/9780073373843/9780073373843_smallCoverImage.gif)
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education