import random
def complex_number_game():
print("==========高级数字解谜游戏==========")
print("规则:一共3轮答题,全部答对通关;任意一轮答错游戏结束。")
score = 0
#第1轮:结合整除、余数、加减混合运算
base = random.randint(120,350)
num1 = random.randint(7,19)
yu = base % num1
shang = base // num1
ans1 = (shang * 6) - (yu * 3) + 29
print(f"\n第1题:已知 {base} ÷ {num1},得到商和余数;计算:商×6 − 余数×3 +29 = ?")
while True:
try:
player1 = int(input("请输入答案:"))
break
except ValueError:
print("只能输入数字!重新输入")
if player1 == ans1:
print("第1题回答正确!")
score += 1
else:
print(f"回答错误,正确答案:{ans1},游戏结束")
return
#第2轮:多层if条件判断,区间筛选、指数运算
a = random.randint(15,28)
b = random.randint(4,9)
temp = a ** b
if 10000 < temp < 80000:
ans2 = temp // 12 - 47
elif temp >=80000:
ans2 = temp // 20 + 119
else:
ans2 = temp % 700 + 536
print(f"\n第2题:a={a},b={b},先计算a的b次方;")
print("如果结果大于10000且小于80000:结果÷12−47;")
print("如果结果≥80000:结果÷20+119;")
print("其余情况:结果对700取余数再加536,算出最终数值")
while True:
try:
player2 = int(input("你的答案:"))
break
except ValueError:
print("请输入纯数字!")
if player2 == ans2:
print("第2题答对!进入终极难题")
score += 1
else:
print(f"答错,正确答案是:{ans2},游戏失败")
return
#第3轮终极难题:4个随机数、多步嵌套运算、奇偶判定、三元条件
x = random.randint(20,40)
y = random.randint(3,12)
m = random.randint(50,90)
n = random.randint(2,8)
step1 = x * y
step2 = m - n
if step1 % 2 == 0:
part1 = step1 // 4
else:
part1 = step1 % 9
if step2 > 45:
part2 = step2 * 3
else:
part2 = step2 + 108
ans3 = part1 + part2 - 77
print("\n====终极第3题====")
print(f"给定 x={x}, y={y}, m={m}, n={n}")
print("步骤1:step1 = x × y;如果step1是偶数:part1 = step1÷4;奇数:part1 = step1%9")
print("步骤2:step2 = m − n;step2>45则 part2 = step2×3,否则 part2 = step2 +108")
print("步骤3:最终结果 = part1 + part2 −77,计算结果")
while True:
try:
player3 = int(input("输入最终答案:"))
break
except ValueError:
print("只能输入数字!")
if player3 == ans3:
print("恭喜!全部通关,挑战成功!")
else:
print(f"很遗憾,最后一题失败,标准答案:{ans3}")