Python进阶四则运算挑战:自动升级难度,测试你的数学水平!想要挑战你的数学计算能力吗?快来试试这个Python进阶四则运算程序吧!程序会根据你的答题情况自动升级难度,从简单的个位数运算逐渐升级到更复杂的两位数和三位数运算,你能闯到哪一关?以下是程序的代码:pythonimport randomimport operatorimport reimport ast# 运算级别(最大位数)LEVELS = { 1: (0, 9), 2: (10, 99), 3: (100, 999)}# 用正则表达式匹配并解析用户输入的四则运算表达式def parse_expression(expression): # 移除空格 expression = re.sub(r'/s', '', expression) # 检查表达式是否合法 if not re.match(r'^[0-9+/-/().]+$', expression): raise ValueError('非法的表达式') return expression# 使用AST模块求解四则运算表达式的结果def evaluate_expression(expression): # 将表达式转换为AST节点 parsed_expression = ast.parse(expression, mode='eval') # 获取AST节点的body body = parsed_expression.body # 计算AST节点的值并返回 return eval(compile(parsed_expression, '', 'eval'), {'builtins':None}, {'operator': operator})# 生成随机的四则运算表达式def generate_expression(level): a, b = LEVELS[level] num1 = random.randint(a, b) num2 = random.randint(a, b) operator = random.choice(['+', '-', '', '/']) return f'{num1} {operator} {num2}'# 主函数,处理用户输入并输出结果def main(): level = 1 correct_count = 0 print('欢迎使用进阶四则运算程序!请根据题目计算出结果并输入(输入/'quit/'退出):') while True: expression = generate_expression(level) try: print('题目:', expression) user_answer = input('> ') if user_answer.lower() == 'quit': print('退出程序') break parsed_expression = parse_expression(expression) result = evaluate_expression(parsed_expression) if float(user_answer) == result: print('回答正确!') correct_count += 1 if correct_count == 5: level += 1 correct_count = 0 print('恭喜!进入下一级别!') else: print('回答错误!') correct_count = 0 except (ValueError, SyntaxError, TypeError, ZeroDivisionError) as e: print('非法的表达式或错误:', e)if name == 'main': main()程序特点:* 自动升级难度: 连续答对5题即可进入下一级别,挑战越来越难。* 随机生成题目: 每次运行程序都会生成不同的题目,保持新鲜感。* 支持多种运算: 包括加减乘除四种运算,全面锻炼你的计算能力。* 用户友好: 操作简单,提示清晰,适合各个年龄段的用户。快来挑战你的数学极限吧!

Python进阶四则运算挑战:自动升级难度,测试你的数学水平!

原文地址: https://www.cveoy.top/t/topic/AeH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录