📜  QA – 安置测验|比例和比例|问题 7(1)

📅  最后修改于: 2023-12-03 15:19:37.927000             🧑  作者: Mango

QA – 安置测验|比例和比例|问题 7
概述

这是一个关于比例和比例的简单问题的程序。程序将提供一个问题,要求用户计算相关比例和比例的值。

功能

程序的主要功能如下:

  • 提供一个关于比例和比例的问题,要求用户计算相关比例的值。
  • 用户可以输入答案。
  • 程序将验证用户的答案,并给出相应的反馈。
  • 反馈包括:
    • 正确答案的提示。
    • 用户答案的评价,如是否正确或错误。
使用方法
  1. 运行程序。
  2. 程序会显示一个关于比例和比例的问题,如“有两个比例,比例 1:2 和比例 2:3,请计算两个比例的和。”。
  3. 用户可以输入答案,如5:7
  4. 程序会验证用户的答案,并显示相应的反馈。
代码片段
import random

def generate_question():
    # 随机生成问题
    ratios = []
    for _ in range(2):
        x = random.randint(1, 10)
        y = random.randint(x+1, 20)
        ratios.append(f"{x}:{y}")
    
    operation = random.choice(['+', '-', '*', '/'])
    
    question = f"有两个比例,比例 {ratios[0]} 和比例 {ratios[1]},请计算两个比例的{operation}。"
    return question, ratios, operation

def calculate_answer(ratios, operation):
    # 计算答案
    r1 = [int(x) for x in ratios[0].split(':')]
    r2 = [int(x) for x in ratios[1].split(':')]
    
    if operation == '+':
        answer = f"{r1[0] * r2[1] + r1[1] * r2[0]}:{r1[1] * r2[1]}"
    elif operation == '-':
        answer = f"{r1[0] * r2[1] - r1[1] * r2[0]}:{r1[1] * r2[1]}"
    elif operation == '*':
        answer = f"{r1[0] * r2[0]}:{r1[1] * r2[1]}"
    elif operation == '/':
        answer = f"{r1[0] * r2[1]}:{r1[1] * r2[0]}"
    
    return answer

def check_answer(user_answer, correct_answer):
    # 检查答案
    if user_answer == correct_answer:
        feedback = "你的答案正确!"
    else:
        feedback = f"你的答案不正确。正确答案是 {correct_answer}。"
    
    return feedback

def main():
    question, ratios, operation = generate_question()
    print("问题:" + question)
    user_answer = input("请输入你的答案:")
    correct_answer = calculate_answer(ratios, operation)
    feedback = check_answer(user_answer, correct_answer)
    print(feedback)

if __name__ == '__main__':
    main()
注意事项
  • 请确保正确安装了 Python 解释器。
  • 程序只支持整数比例的计算。
  • 用户输入答案时,格式应为 "x:y" 的形式,其中 xy 是整数。
  • 程序提供的问题和答案是随机生成的,每次运行结果可能不同。
参考链接