Python Programming: An Introduction to Computer Science, 3rd Ed.
3rd Edition
ISBN: 9781590282755
Author: John Zelle
Publisher: Franklin, Beedle & Associates
expand_more
expand_more
format_list_bulleted
Question
Chapter 9, Problem 9PE
Program Plan Intro
Blackjack game
Program Plan:
- Import the header file.
- Define the main method.
- Call the “printIntro ()” method.
- Get the input from the user.
- Iterate “i” till it reaches 13.
- Increment the “i” value
- Call the “simNHands ()” method and store it in a variable.
- Call the “printSummary ()” method.
- Define the “printIntro ()” method.
- Display the messages.
- Define the “simNHands ()” method.
- Display the starting card number.
- Set the values.
- Iterate “i” until it reaches “n” value
- Check the result of “simOneHand ()” is false
- Increment the “busts” value
- Check the result of “simOneHand ()” is false
- Return the “busts” value.
- Definition of “simOneHand ()” method
- Set the value
- Check “x” value is equal to 11 or 12 or 13
- Set “x” as 10
- Call the simOneCard ()” method and store it in a “y” variable.
- Calculate “hand” value
- Check the “hand” value is less than 17
- Check “hand” is less than or equal to 10
- Check the result of “hasAce (x)” is true
- Call the “simOneCard()” method
- Check the result of “hasAce ()” is false.
- Calculate the “hand” value
- Check the condition
- Calculate the “hand” value
- Otherwise, calculate the “hand” value.
-
- Check the condition
- Calculate the “hand” value.
- Otherwise, break the loop.
- Check “hand” value is less than 17 and greater than 10
- Call the method
- Calculate the “hand” value.
- Check the condition
-
- Check the result of “hasAce (x)” is true
- Check “hand” is less than or equal to 10
- Check the “hand” is greater than 21
- Return the result as false
- Otherwise, return true.
- Define the “simOneCard ()” method
- Call the method with the arguments
- Check “x” is equal to 11 or 12 or 13
- Set the “x” as 10
- Return “x”
- Otherwise, return “x” value
- Define the “hasAce ()” method
- Check “x” is equal to 1
- Return true
- Otherwise, return false.
- Check “x” is equal to 1
- Define the “printSummary ()” method
- Declare the array
- Display the output.
- Call the main method.
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
Let's begin with a lesson in roulette. Roulette is a casino game that involves spinning a ball on a wheel that is marked with numbered squares that are red, black, or green. Half of the numbers 1–36 are colored red and half are black and the numbers 0 and 00 are green. Each number occurs only once on the wheel.
We can make many different types of bets, but two of the most common are to bet on a single number (1–36) or to bet on a color (either red or black). These will be the two bets we will consider in this project. After all players place their bets on the table, the wheel is spun and the ball tossed onto the wheel. The pocket in which the ball lands on the wheel determines the winning number and color. The ball can land on only one color and number at a time.
We begin by placing a bet on a number between 1 and 36. This bet pays 36 to 1 in most casinos, which means we will be paid $36 for each $1 we bet on the winning number. If we lose, we simply lose whatever amount of money we…
Coupon collector is a classic statistic problem with many practical applications. The problem is to pick objects from a set of objects repeatedly and determine how many picks are needed for all the objects to be picked at least once. A variation of the problem is to pick cards from a shuffled deck of 52 cards repeatedly and find out how many picks are needed before you see one of each suit. Assume a picked card is placed back in the deck before picking another. Write a program to simulate the number of picks needed to get four cards from each suit and display the four cards picked (it is possible that a card may be picked twice).
This is basically something that has a certain number of states (sort of like how a traffic light can be Red, Yellow, Green) and changes from one state to another.This program will have 4 states: HAPPY, HUNGRY, BORED, SAD. Here are the rules.
Our animal starts in a state of Happy, with the values for hungry = 0 and bored = 0.
Each round the player can "feed", "play" or "ignore" their animal.
If they feed their animal, then the hungry meter goes down and bored meter goes up.
If they play with their animal, then the bored meter goes down and the hungry meter goes up.
If they ignore their animal, then both hungry and bored go up.
Don't go below 0
Here are the state changes. Each one of these is a "case" in a switch (from current state -> new State):HAPPY
If hungry >= 2 transition to HUNGRY
If bored >= 2 transition to BORED
HUNGRY
if hungry >= 4 transition to SAD
if bored > hungry transition to BORED
if hungry < 2 transition to HAPPY
BORED
If bored >= 4…
Chapter 9 Solutions
Python Programming: An Introduction to Computer Science, 3rd Ed.
Ch. 9 - Prob. 1TFCh. 9 - Prob. 2TFCh. 9 - Prob. 3TFCh. 9 - Prob. 4TFCh. 9 - Prob. 5TFCh. 9 - Prob. 6TFCh. 9 - Prob. 7TFCh. 9 - Prob. 8TFCh. 9 - Prob. 9TFCh. 9 - Prob. 10TF
Ch. 9 - Prob. 1MCCh. 9 - Prob. 2MCCh. 9 - Prob. 3MCCh. 9 - Prob. 4MCCh. 9 - Prob. 5MCCh. 9 - Prob. 6MCCh. 9 - Prob. 7MCCh. 9 - Prob. 8MCCh. 9 - Prob. 9MCCh. 9 - Prob. 10MCCh. 9 - Prob. 2DCh. 9 - Prob. 3DCh. 9 - Prob. 1PECh. 9 - Prob. 2PECh. 9 - Prob. 3PECh. 9 - Prob. 4PECh. 9 - Prob. 5PECh. 9 - Prob. 6PECh. 9 - Prob. 7PECh. 9 - Prob. 8PECh. 9 - Prob. 9PECh. 9 - Prob. 10PECh. 9 - Prob. 11PECh. 9 - Prob. 12PECh. 9 - Prob. 13PECh. 9 - Prob. 14PE
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.Similar questions
- The bean machine is a device for statistical experiments. It consists of an upright board with evenly spaced nails (or pegs) in a triangular form, as shown in Figure 7.13 from our assigned textbook.Balls are dropped from the opening at the top of the board. Every time a ball hits a nail, it has a 50% chance of falling to the left or to the right. The piles of balls are accumulated in the slots at the bottom of the board.Write a program to simulate the bean machine that has 8 slots as shown in the figure. Your program should prompt the user to enter the number of balls to drop. Simulate the falling of each ball by printing its path. For example, the path for the ball in Figure 7.13(b) is LLRRLLR and the path for the ball in Figure 7.13(c) is RLRRLRR. Note that there are 7 levels of nails, so your path should be 7 letters (not 8).Create an array called slots. Each element in slots store the number of balls in a slot. Each ball falls into a slot via a path. The number of “R”s in a path is…arrow_forwardA random walk is a random path most often represented as a random number that changes over time. In particular, one common random walk is that in which the starting state is 0 and in each iteration we either add 1 or subtract 1 from the current value with equal probability. That is, in the first step, the next value would be 1 with probability 0.5 and -1 with probability 0.5. Use R to generate a random walk with 100 values starting at value 0 and store the values in a vector called random_walk. This vector should have length 100.arrow_forwardWhat is the probability that in a classroom of x people, at least 2 will be born on the same day of the year (ignore leap year)? Use a Monte Carlo Simulation and a frequency table to write a program that calculates this probability, where the number of people (x) in the simulated class is given by the user. The probability for a class of size 23, should be right around 50%. PLEASE use the code outline given below to answer this question: import mathimport random # create and initialize frequency table:ft = []k = 0while(k < 365) : ft.append(0) k = k+1 # Allow the user to determine class size:print("Please type in how many people are in the class: ")x= int(input()) success = 0 # Simulate:c = 0while(c < 10000) : # Step 1: re-initialize birthday frequency table (it must be re-initialized for each play-through (why?): k = 0 while(k < 365) : ft[k] = 0 k = k+1 # Step 2: randomly get x birthdays and update frequency table: k = 0 while(k < x): # your code…arrow_forward
- What is the probability that in a classroom of x people, at least 2 will be born on the same day of the year (ignore leap year)? Use a Monte Carlo Simulation and a frequency table to write a program that calculates this probability, where the number of people (x) in the simulated class is given by the user. The probability for a class of size 23, should be right around 50%. I have an outline for the code but please only use python language and NO "break", "true" language import mathimport random # create and initialize frequency table:ft = []k = 0while(k < 365) : ft.append(0) k = k+1 # Allow the user to determine class size:print("Please type in how many people are in the class: ")x= int(input()) success = 0 # Simulate:c = 0while(c < 10000) : # Step 1: re-initialize the birthday frequency table (it must be re-initialized for each play-through (why?): k = 0 while(k < 365) : ft[k] = 0 k = k+1 # Step 2: randomly get x birthdays and update frequency table: k =…arrow_forwardU is upward, D is downward, L is left and R is right : Using the methods pickDir() and exractInt() as shown below, to write a simple automated game: how long does it take a robot to travel from a left line of a field to the right line? Assume field is 15 units apart (meters, kilometers, it doesn’t matter), and the robot starts on the left line. pickDir(): // return string with random direction and random distance (within maxDist) public static String pickDir (int maxDist) { Random r = new Random(); // random number generator // return direction + distance return ( "" + "LRUD".charAt( r.nextInt(4) ) + (r.nextInt(maxDist) + 1) ); } extractInt(): // returns integer from string, from pos p1 to p2: str = "D1" – extractInt(str,1,1); public static int extractInt (String str, int p1, int p2) { return ( Integer.parseInt( str.substring(p1, p2+1) ) ); } Write the main() method that keeps looping until the robot’s random left…arrow_forwardA square is divided into four smaller regions as shown below in (a). If you throw a dart into the square 1,000,000 times, what is the probability for a dart to fall into an odd-numbered region? Write a program to simulate the process and display the result.arrow_forward
- Random walk. A Java programmer begins walking aimlessly. At each time step, she takes one step in a random direction (either north, east, south, or west), each with probability 25%. She stops once she is at Manhattan distance r from the starting point. How many steps will the random walker take? This process is known as a two-dimensional random walk.arrow_forwardwith T=4, n=12 and A=(3,5,8,8,9,16,29,41,50,63,64,67). Draw the corresponding walkthrough as shownarrow_forwardLets say we are creating a python game. A word is displayed gets displayed on the screen. The players of the game must type as many words as they an that are related to the word that is displayed. If players type in the same word multiple times, it is ignored. One the players are done taking turns, the program gives each player a score that is based off how many wrods they entered that are similiar to what other words players have entered. So for a player to get a point, the word they typed must be typed by another student. QUESTION: We need to store the words typed by the players and all words etered. Would we use a list, set, dict or tuple?arrow_forward
- Write a program that plays the tic-tac-toe game. Two players take turns clicking an available cell in a grid with their respective tokens (either X or O). When one player has placed three tokens in a horizontal, vertical,or diagonal row on the grid, the game is over and that player has won. A draw (no winner) occurs when all the cells in the grid have been filled with tokens and neither player has achieved a win. Figure 12.17 shows the representative sample runs of the example. Assume that all the cells are initially empty, and that the first player takes the X token and the second player the O token. To mark a cell, the player points the mouse to the cell and clicks it. If the cell is empty, the token (X or O) is displayed. If the cell is already filled, the player’s action is ignored.Define a custom class named Cell that extends Label for displaying a token and for responding to the button-click event. The class contains a data field token with three possible values—' ', X, and…arrow_forwardIn a Chess match "a + b", each player has a clock which shows a minutes at the start and whenever a player makes a move, b seconds are added to this player's clock. Time on a player's clock decreases during that player's turns and remains unchanged during the other player's turns. If the time on some player's clock hits zero (but not only in this case), this player loses the game. N+1 There's a 3 + 2 blitz chess match. After N turns (i.e. moves made by 2 N white and moves made by black), the game ends and the clocks of the two 2 players stop; they show that the players (white and black) have A and B seconds left respectively. Note that after the N-th turn, b = 2 seconds are still added to the clock of the player that made the last move and then the game ends. Find the total duration of the game, i.e. the number of seconds that have elapsed from the start of the game until the end.arrow_forward3. Suppose you have been hired to develop a musical chair game. In this game there will be 7 participants and all of them will be moving clockwise around a set of 7 chairs organized in a circular manner while music will be played in the background. You will control the music using random numbers between 0-3.lf the generated random number is 1, you will stop the music and if the number of participants who are still in the game is n, the participants at position (n/2) will be eliminated. Each time a participant is eliminated, a chair will be removed and you have to print the player names who are still in the game. The game will end when there will be only one participant left. At the end of the game, display the name of the winner. [Hint: You will need to invoke a built-in method to generate a random number between 0 (inclusive) to 3 (inclusive)] Use Python languagearrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- C++ for Engineers and ScientistsComputer ScienceISBN:9781133187844Author:Bronson, Gary J.Publisher:Course Technology PtrOperations Research : Applications and AlgorithmsComputer ScienceISBN:9780534380588Author:Wayne L. WinstonPublisher:Brooks Cole
C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr
Operations Research : Applications and Algorithms
Computer Science
ISBN:9780534380588
Author:Wayne L. Winston
Publisher:Brooks Cole
Java random numbers; Author: Bro code;https://www.youtube.com/watch?v=VMZLPl16P5c;License: Standard YouTube License, CC-BY