• 1st_homework_SE--四则运算题目生成器


    0x00 Code

    查询源代码及README请点此

    0x01 需求分析

    实现一个自动生成小学四则运算题目的命令行程序。

    0x02 功能设计

    主要功能为:

    1. 接受用户输入以便知道要出多少道题目python start.py -n NUMBER
    2. 能随机产生题目: 包括真分数在内的四则运算
    3. 打印题目并接收用户输入的答案
    4. 用户输入的答案与程序计算出来的结果进行匹对
      5.将生成器分别放在3个不同的文件。
    calc.py 为 本项目所使用函数文件 
    config.py 为 配置文件 
    start.py 为启动文件
    

    方便进行管理以及功能改善。
    可阅读性和维护性较高

    6.可以在配置文件中进行设置Fraction Mode.来满足不同年龄段小朋友的做题需求

    0x03 代码分析

    这次的题目比较简单。
    python有包含fraction的包,导入from fractions import Fraction即可使用。
    使用全局变量global result可在各个函数中相互调用,但是在函数中需声明
    采用各个函数分离的方式,由于选择operation的过程有较多重复代码,所以将其分离。

    def calc_fract():
        temp1,temp2=random.randrange(1,10),random.randrange(1,10)
        if temp1>temp2:
            temp1,temp2=temp2,temp1
        fract1=Fraction(temp1,temp2)
        temp1, temp2 = random.randrange(1, 10), random.randrange(1, 10)
        if temp1>temp2:
            temp1,temp2=temp2,temp1
        fract2 = Fraction(temp1, temp2)
        if fract1<fract2:
            fract1,fract2=fract2,fract1
        op = ['+', '-', '*', '/']
        operation = random.choice(op)
        operate(fract1,fract2,operation)
    def calc_int():
        temp1, temp2 = random.randrange(1, 10), random.randrange(1, 10)
        if(temp1<temp2):
            temp1,temp2=temp2,temp1
        op = ['+', '-', '*', '/']
        operation = random.choice(op)
        operate(temp1,temp2,operation)
    

    0x05 测试运行:

    Fraction Mode

    No Fraction Mode :

    0x05 psp

    0x06 小结

    1.第一次自己写包再在不同的文件中调用。 import时只要写明文件名即可,不用加上.py

    2.raw_input()这个函数在使用时直接获取的内容为str型。

    3.eval()这个函数可以计算str中包含的运算式子.这样可以减少很多代码量!不过由于eval()的安全问题,建议少用。

    4.在本次试验中遇到最大的问题是,一开始程序对answer和result无法判断正确,后来睡了一觉突然想起来有可能是type的问题。结果果然是!一个是 “class fractions. fraction” 一个是“type int”

  • 相关阅读:
    SQL SELECT INTO 语句
    跨站脚本攻击测试[转]
    Visual Studio 2008中如何比较二个数据库的架构【Schema】和数据【Data】并同步 [转贴]
    联表UPDATE
    网站架构策划方案
    概念模型 逻辑模型 物理模型 区别
    Repeater嵌套绑定Repeater
    .net 2.0升级到了.net 3.5,开发工具从vs2005转为vs2008
    你必须知道的C#的25个基础概念(附演示) 【转】
    window2003中,在IIS中,如何解决不能播放.FLV文件
  • 原文地址:https://www.cnblogs.com/nikochan/p/6501881.html
Copyright © 2020-2023  润新知