'Taking roots with the number that user gives us
I'm coding a number guessing game.Here's the part I need help:
- User guesses the number
- If the number equals to some number's power or root, software will hint user.
I handled the power part, but when it comes to root, I tried those ways:
Using gmpy2
rootanswer = gmpy2.root(playerguess,guessnumber)
elif root answer == int(root answer):
print("Your guess is an answer of power calculation.")
*playerguess = Player's current guess
*guessnumber = the number player is trying to guess
The problem is root answer isn't an integer or a float. It's an mpfr. I searched at the web and tried to find a way to change mpfr to an integer, but I couldn't find.
Using some math to solve root:
thenumber = int(input("The number is:"))
rootpower = int(input("root:"))
powerlist = [*range(1,21,1)]
for pwr in powerlist:
if thenumber == 2**pwr:
answerpower = pwr - rootpower
answer = 2**answerpower
elif thenumber == 3**pwr:
answerpower = pwr-rootpower
answer = 3**answerpower
print(thenumber,rootpower,answerpower,answer)
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
