odify the guessing-game program so that the user thinks of a number that the computer must guess. The computer must make no more than the minimum number of guesses, and it must prevent the user from cheating by entering misleading hints. Use I'm out of guesses, and you cheated and Hooray, I've got it in X tries as your final output. (Hint: Use the math.log function to compute the minimum number of guesses needed after the lower and upper bounds are entered.) this is what I got so far: ============================================ import random import math smaller = int(input("Enter the smaller number: ")) larger = int(input("Enter the larger number: ")) maxattempt = math.ceil(math.log(larger - smaller)) count = 0 while count != maxattempt:     count += 1     guess = int((smaller + larger) / 2)     print(smaller, larger)     print("Your number is: ", guess)     hlp = input("Enter =, <, or >: ")     if hlp == '>':         smaller = guess + 1     elif hlp == '<':         larger = guess - 1     elif hlp == '=':         print("Hooray, I've got it in", count, "tries!")         break else:      print("I'm out of guesses, and you cheated") ============================================   but for the test case  0-25, when 11 is picked I get an error. unexpected output "I'm out of guesses, and you cheated". I'm not sure what the issue is here.

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter5: Control Structures Ii (repetition)
Section: Chapter Questions
Problem 28PE
icon
Related questions
Question

odify the guessing-game program so that the user thinks of a number that the computer must guess.

  • The computer must make no more than the minimum number of guesses, and it must prevent the user from cheating by entering misleading hints.
  • Use I'm out of guesses, and you cheated and Hooray, I've got it in X tries as your final output.

(Hint: Use the math.log function to compute the minimum number of guesses needed after the lower and upper bounds are entered.)

this is what I got so far:

============================================

import random
import math

smaller = int(input("Enter the smaller number: "))
larger = int(input("Enter the larger number: "))
maxattempt = math.ceil(math.log(larger - smaller))

count = 0

while count != maxattempt:
    count += 1
    guess = int((smaller + larger) / 2)
    print(smaller, larger)
    print("Your number is: ", guess)
    hlp = input("Enter =, <, or >: ")
    if hlp == '>':
        smaller = guess + 1
    elif hlp == '<':
        larger = guess - 1
    elif hlp == '=':
        print("Hooray, I've got it in", count, "tries!")
        break

else: 
    print("I'm out of guesses, and you cheated")
============================================
 
but for the test case  0-25, when 11 is picked I get an error. unexpected output "I'm out of guesses, and you cheated". I'm not sure what the issue is here.
 
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 3 images

Blurred answer
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning
C++ for Engineers and Scientists
C++ for Engineers and Scientists
Computer Science
ISBN:
9781133187844
Author:
Bronson, Gary J.
Publisher:
Course Technology Ptr