有人简化一下代码吗?用太多while了

import random

result = random.randint(1, 10)
guess = 0
while True:
num = input("请猜一个1到10的数字:")
try:
guess = int(num)
break
except:
print("输入有误!")
i = 0
flag = False
while True:
if guess == result:
print("恭喜你,猜对了!")
break
else:
if guess < result:
print("小了!")
i += 1
else:
print("大了")
i += 1
if i < 3:
while True:
num = input("请猜一个1到10的数字:")
try:
guess = int(num)
break
except:
print("输入有误!")
else:
while True:

import random

result = random.randint(1, 10)
i = 0
BOOL = True

while BOOL:
    try:
        if i < 3:
            num = input("请猜一个1到10的数字:")
            guess = int(num)

            if guess == result:
                print("恭喜你,猜对了!")
                break
            elif guess < result:
                print("小了!")
                i += 1
            else:
                print("大了")
                i += 1
        else:
            try:
                while BOOL:
                    coin = input("是否需要复活币?Y/N:")
                    if coin == "Y":
                        print("你被复活了,快去猜吧!")
                        i = 0
                        break
                    elif coin == "N":
                        print("给你机会,你不中用啊!")
                        BOOL = False
                    else:
                        print("输入有误!请重新输入")
                        continue
            except:
                print("输入有误!")
    except:
        print("输入有误!")