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}")
html2.link
举报