1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
NemiM [27]
3 years ago
15

Write a program that teaches arithmetic to a young child. The program tests addition and subtraction. In level 1 it tests only a

ddition of numbers less than 10 whose sum is less than 10. In level 2 it tests addition of arbitrary one-digit numbers. In level 3 it tests subtraction of one-digit numbers with a nonnegative difference. Generate random problems and get the player input. The player gets up to two tries per problem. Advance from one level to the next when the player has achieved a score of five points.
Computers and Technology
1 answer:
Natasha2012 [34]3 years ago
7 0

Answer:

import random

class Arithmetics(object):

   trial = 2

   score = 0

   is_end = "Y"

   

   def start(self):

       while self. is_end == "Y":

           self. level1()

           self. level2()

           self. level3()

           self. is_end = input("Do you want to play again? Y/N: "). upper()

       quit()

   def level1(self):

       print("--------------------Level 1--------------------\n\n Addition:")

       for _ in iter(list, 0):

           num1 = random.randint(1,5)

           num2 = random.randint(1,5)

           if self. score == 5:

               print("Congrat! advance to next level\n")

               self. init_()

               break

           print(f"{num1} + {num2}")

           result = int(input("Your answer: "))

           if result == num1 + num2:

               self. increase_score()

           elif self. trial == 0:

               print("Sorry dear, you failed to pass the text.")

               self. end_game()

           else:

               self. trial_reduce()

   def level2(self):

       print("--------------------Level 2--------------------\n\n Addition again:")

       for _ in iter(list, 0):

           num1 = random. randint(1,9)

           num2 = random. randint(1,9)

           if self. score == 5:

               print("Congrat! advance to next level\n")

               self. init_()

               break

           print(f"{num1} + {num2}")

           result = int(input("Your answer: "))

           if result == num1 + num2:

               self. increase_score()

           elif self. trial == 0:

               print("Sorry dear, you failed to pass the text.")

               self. end_game()

           else:

               self. trial_reduce()

   def level3(self):

           print("--------------------Level 3--------------------\n\n Subtraction:")

           for _ in iter(list, 0):

               denum = random. randint(6,9)

               num = random. randint(1,5)

               if self. score == 5:

                   self. init_()

                   self. end_game()

                   break

               print(f"{denum} - {num}")

               result = int(input("Your answer: "))

               if result == denum - num:

                   self. increase_score()

               elif self. trial == 0:

                   print("Sorry dear, you failed to pass the text.")

                   self. end_game()

               else:

                   self. trial_reduce()

   #classmethod

   def trial_reduce(cls):

       cls. trial -= 1

   #classmethod

   def increase_score(cls):

       cls. score += 1

   #classmethod

   def init_(cls):

       cls. trial = 2

       cls. score = 0

   def end_game(self):

       print("Congrats kiddo! You are a math wiz.")

game = Arithmetics()

game. start()

Explanation:

The python class defines the arithmetics class with three-level mathematics for children defined as methods for the class. There are three class methods namely; 'trial_reduce', 'increase_score', and 'init_' with each of them decreasing the trial attribute, increasing the score attribute by one, and initializing the class attributes to its initial state.

The 'end_game' prints a message at the end of the program. Each level is in a loop and counts five times if the answers are correct.

You might be interested in
Build three classes that conform to the following interfaces. Use arrays in creating your classes (e.g., do not use the built-in
daser333 [38]

Explanation:

public class ArrayList {

private Object[] array = new Object[1];

/**

 * Places new element at location

 * @param c, element to be inserted

 * @param i, location it is to be placed

 */

public void insert(char c, int i) {

 if(i>this.size()){

  System.out.println("Index "+i +" outside of list size; max: " +this.size());

  System.exit(0);

 }

 int count = 0;

 try {

  Object[] other = new Object[this.array.length+1];

  switch(i){

     case 0:{

      other[0] = c;

      for(int j=1;j<this.array.length;j++)

       other[j] = this.array[j-1];

       

      this.array = other;

      break;

     }

     default: {

      for(int j=0;j<i;j++)

       other[j] = this.array[j];

      other[i] = c;

      for(int k=i+1;k<this.array.length;k++)

       other[k] = this.array[k-1];

      this.array = other;

      break;

     }

     }

 }

 catch(ArrayIndexOutOfBoundsException exception) {

     largerArray();

     if(++count == 2){

      System.out.println("Something went wrong.");

      System.exit(0);

     }  

 }

}

 

/**

 * Places new element at location

 * @param object, element to be inserted

 * @param index, location it is to be placed

 */

void insert(Object object, int index){

 if(index>this.size()){

  System.out.println("Index "+index +" outside of list size; max: " +this.size());

  System.exit(0);

 }

 int count = 0;

 try {

  Object[] other = new Object[this.array.length+1];

  switch(index){

     case 0:{

      other[0] = object;

      for(int j=1;j<this.array.length;j++)

       other[j] = this.array[j-1];

       

      this.array = other;

      break;

     }

     default: {

      for(int j=0;j<index;j++)

       other[j] = this.array[j];

      other[index] = object;

      for(int k=index+1;k<this.array.length;k++)

       other[k] = this.array[k];

      this.array = other;

      break;

     }

     }

 }

 catch(ArrayIndexOutOfBoundsException exception) {

     largerArray();

     if(++count == 2){

      System.out.println("Something went wrong.");

      System.exit(0);

     }  

 }

}

 

/**

 * Removes element at index

 * @param index, location to remove

 * @return temp, object removed

 */

Object remove(int index){

 if(index>this.size()){

  System.out.println("Index "+index +" outside of list size; max: " +this.size());

  System.exit(0);

 }

 Object temp = this.array[index];

 int count = 0;

 try {

  Object[] other = new Object[this.array.length-1];

  switch(index){

     case 0:{

      other[0] = this.array[1];

      for(int j=1;j<this.size();j++)

       other[j] = this.array[j+1];

       

      this.array = other;

      break;

     }

     default: {

      for(int j=0;j<index;j++)

       other[j] = this.array[j];

      for(int k=index;k<this.size();k++)

       other[k] = this.array[k+1];

      this.array = other;

      break;

     }

     }

 }

 catch(ArrayIndexOutOfBoundsException exception) {

     largerArray();

     if(++count == 2){

      System.out.println("Something went wrong.");

      System.exit(0);

     }  

 }

 return temp;

}

 

/**

 * Copies the array to a new array twice the size.

 */

public void largerArray(){

 Object[] other = new Object[this.array.length*2];

 System.arraycopy(this.array, 0, other, 0, this.array.length);

 this.array = other;

}

 

/**

 * @return true if there are null elements

 */

public boolean isEmpty() {

 boolean bool = true;

 for (Object element : this.array) {

  if(element!=null){

   bool = false;

   break;

  }

  else{

   bool = true;

   break;

 }

 }

 return bool;

}

 

/**

 * Determines the real length of the array

 * @return length of non-null elements

 */

public int size(){

 int count = 0;

 for(int i=0;i<this.array.length;i++){

  if(this.array[i]==null)

   continue;

  else

   count++;

 }

 return count;

}

 

/**

 * Converts array to string.

 * @return the Array as a string

 */

public String toString(){

 String string = "";

 for(int i=0;i<this.size();i++){

  if(i<this.size()-1)

   string += this.array[i]+", ";

  else

   string += this.array[i];

 }

 return string;

}

 

/**

 * Similar to get, imput the character, retrieve index.

 * @param object, what we're looking for

 * @return index

 */

int indexOf(Object object){

 int index = -1;

 for(int i=0;i<this.array.length;i++){

  if(this.array[i]==(object))

   index = i;

  else continue;

 }

 return index;

}

 

/**

 * @param object, Arraylist tyoe

 * @return true, if the elements of the arrays are equivalent.

 */

public boolean equals(ArrayList object){

 boolean bool = false;

 int thisLength = this.array.length;

 int objectLength = object.array.length;

 if(thisLength > objectLength){

  for(int i=0;i<this.array.length;i++)

   if(this.array[i] == object.array[i])

    bool = true;

   else{

    bool = false;

    break;

   }

 }

 else{

  for(int i=0;i<object.array.length;i++)

   if(this.array[i] == object.array[i])

    bool = true;

   else{

    bool = false;

    break;

   }

 }

 return bool;

}

 

/**

 * Getter to check what is at an index

 * @param index, location

 * @return the character at this position

 */

Object get(int index){

 return this.array[index];

}

}

6 0
3 years ago
How many times is the function wordScramble() called in the given program? public class WordScramble { public static void wordSc
Ainat [17]

Answer:

The answer is "2"

Explanation:

  • In the given java program code, a class WordScramble is declared, inside the class, a static method wordScramble is declared, that accepts two string parameter that is "rem and scr".
  • Inside the method a conditional statement is used in the if the block it checks rem variable value is empty so, it will add rem and scr value.  Otherwise, it will go to else block in this a loop is defined, which calls the method, which calculates rem length that is 2, and this method call two times to rearrange the values.
  • In the next step main method is defined that calls wordScramble method, which passes only one argument "ab" in its first parameter.
  • This method accepts one string value, in which there are two numbers   "a and b" that's why the method will run two times.  
6 0
3 years ago
Your friend sends you a computer game. after installing the game on your computer, you realize that it plays very slowly. you kn
dsp73
Memory possibly. Or another pricessor.
8 0
3 years ago
What need most led to the creation of the Advanced Research Projects Agency Network? DARPA wanted scientists to be able to colla
Bas_tet [7]

(A) DARPA wanted scientists to be able to collaborate and share research easily.

The initial purpose of ARPA was to enable mainly scientific users at the connected institutions to communicate and share resources, also to be able to link computers at Pentagon-funded research institutions over telephone lines, and it became the technical foundation of the Internet.

6 0
3 years ago
Read 2 more answers
Nam june paik’s ________ combines recognizable and distorted images made using a synthesizer to modulate video signals.
Alexeev081 [22]
The answer that fits the blank is GLOBAL GROOVE. Global Groove has been one of the most notable work in the history of video art because of the use of distorted images produced from a synthesizer and this modulated signals on the video. The Global Groove is a video from year 1973. 
6 0
3 years ago
Other questions:
  • Write a program with total change amount as an integer input that outputs the change using the fewest coins, one coin type per l
    6·1 answer
  • For an external usb hard drive attached to a computer, which is more suitable: a writethrough cache or a block cache
    14·2 answers
  • NEED THIS NOW PLEASE!!!! (I AM NOT JOKING I HAVE TO SUBMIT IN 5 MINUTES)
    13·2 answers
  • 16. Which of the following wire gage sizes is the thickest? A. 14 B. 8 C. 0 D. -33
    14·1 answer
  • True or false.local and cloud backup differs in where the backup is saved
    15·2 answers
  • Find the number of times a value appears in a list, and create a new list that contains the index positions where the value occu
    6·1 answer
  • Please Help, Thank you!
    5·1 answer
  • Paul wants to store addresses and phone numbers for clients. Paul wants to use this information to send form letters. Paul shoul
    5·1 answer
  • 1. Which of the following is not true about high-level programming language s? (a) Easy to read and write (b) Popular among prog
    12·1 answer
  • _______ is a medium-range wireless network. ________ is a medium-range wireless network. Cellular radio LTE UWB Wi-Fi
    12·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!