# ===== CodeLab: Python 小游戏①:猜数字 =====
# 来源: https://aoerliang.dpdns.org/articles/game-python-guess
# 以下代码片段按文章出现顺序拼接, 共 6 段

# ----- 片段 1 (python) -----
import random

target = random.randint(1, 100)
print("我已经想好了一个 1 到 100 之间的数字,来猜猜看吧!")

# ----- 片段 2 (python) -----
while True:
    text = input("请输入你猜的数字: ")
    try:
        guess = int(text)
        break
    except ValueError:
        print("请输入一个整数!")

# ----- 片段 3 (python) -----
if guess > target:
    print("猜大了,再小一点~")
elif guess < target:
    print("猜小了,再大一点~")
else:
    print("恭喜!猜对啦!")
    break

# ----- 片段 4 (python) -----
attempts = 0
while True:
    text = input("请输入你猜的数字: ")
    try:
        guess = int(text)
    except ValueError:
        print("请输入一个整数!")
        continue          # 这次不算,直接进入下一轮
    attempts += 1
    if guess > target:
        print("猜大了,再小一点~")
    elif guess < target:
        print("猜小了,再大一点~")
    else:
        print(f"恭喜!猜对啦!答案就是 {target},你一共猜了 {attempts} 次。")
        break

# ----- 片段 5 (python) -----
import random

while True:
    target = random.randint(1, 100)
    attempts = 0
    print("\n===== 新的一局 =====")
    while True:
        text = input("请输入你猜的数字: ")
        try:
            guess = int(text)
        except ValueError:
            print("请输入一个整数!")
            continue
        attempts += 1
        if guess > target:
            print("猜大了,再小一点~")
        elif guess < target:
            print("猜小了,再大一点~")
        else:
            print(f"恭喜!答案就是 {target},你用了 {attempts} 次!")
            break
        if attempts == 7:
            print(f"提示:目标数在 {target - 10} 到 {target + 10} 之间")
    again = input("再来一局?(y/n): ")
    if again.lower() != "y":
        print("下次见!")
        break

# ----- 片段 6 (text) -----
===== 新的一局 =====
请输入你猜的数字: 50
猜小了,再大一点~
请输入你猜的数字: 75
猜大了,再小一点~
...
请输入你猜的数字: 62
恭喜!答案就是 62,你用了 6 次!
