四则运算试题生成,结对

作业地址:https://edu.cnblogs.com/campus/nenu/2019fall/homework/7631

代码地址:

结对伙伴:都雪冬

功能1和功能2重难点:

功能二包含功能一,所以我俩就把这两个功能放一起了。对于随机数的生成我们查阅了相关的书籍,对于python一些方法引用的不熟悉,导致走了很多弯路,对我们来说也是一个难点。括号的正确添加以及运算符的优先级设置也是重点。

部分代码:

    def _f4(self):
        from random import randint
        from random import uniform
        from fractions import Fraction #为符号计算所导入的包
        operator1 = ['+', '-', '*', '/']
        operator2 = ['(', '', ')']
        left_1 = randint(0, 1)
        left_2 = randint(0, 1)
        left_3 = randint(0, 1)
        right_1 = randint(1, 2)
        right_2 = randint(1, 2)
        right_3 = randint(1, 2)
        if left_1 == 0:
            left_2 = 1
            left_3 = 1
            if right_1 == 2:
                right_2 = 1
                right_3 = 1
            else:
                right_2 = 2
                right_3 = 1
        else:
            if left_2 == 0:
                left_3 = 1
                right_1 = 1
                if right_2 == 2:
                    right_3 = 1
                else:
                    right_3 = 2
            else:
                left_3 = 0
                right_1 = 1
                right_2 = 1
                right_3 = 2
        first_num = randint(1, 20)
        first_num = Fraction(first_num).limit_denominator(10)
        second_num = randint(1, 20)
        second_num = Fraction(second_num).limit_denominator(10)
        third_num = randint(1, 20)
        third_num = Fraction(third_num).limit_denominator(10)
        fourth_num = randint(1, 20)
        x = randint(0, 2)
        y = randint(0, 3)
        z = randint(0, 3)
        equal = operator2[left_1] + str(first_num) + operator1[x] + operator2[left_2] + str(second_num) + \
             operator2[right_1] + operator1[y] + operator2[left_3] + str(third_num) + operator2[right_2] + \
             operator1[z] + str(fourth_num) + operator2[right_3]
        return (equal)

运行截图:

 

 功能三重难点:

在功能一二的基础上,运用运用argparse模块来处理命令行参数。还需要输入的数字必须是正整数。如何将生成的表达式写入到本地的文件也是一个难点。

运行截图:

 总结:在此次的结对编程中,我的编程能力较弱,在同伴的的帮助下以及相关资料的查阅过程中,让我对python这门语言有了更深刻的理解,同时也学会了许多方法。结对使得彼此能之处对方的缺点,同时也更好的提高自己的能力,取长补短,节省了大量走弯路的时间。

工作环境:星华公寓214

使用的是都雪冬的电脑。

猜你喜欢

转载自www.cnblogs.com/qiwh/p/11583620.html