本作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2148
功能1. 四则运算要求随机生成四则运算包括加减法。
结对编程对象:杨磊
功能:随机生成运算式。
代码部分:定义函数f4,用random随机生成数字,并把运算符赋值给operator1。
class f4(object): def __init__(self): pass def _f4(self): from random import randint from random import uniform from fractions import Fraction operator1 = [‘+‘, ‘-‘, ‘*‘, ‘/‘]
#定义等式equal
equal = str(a) + operator1[x]+ str(b)+ operator1[y] + str(c) + operator1[z] + str(d)
#定义正确答案answer_right,用此变量对比输入(input),如果相等就证明答案正确,输出答对了;如果相比不相等则说明答案错误,输出:再想想吧,答案似乎是_。
for i in range(20): equal_1 = f4()._f4() print(equal_1, "=") answer_right = f4()._f4_answer(equal = equal_1) _ans = input("?") if _ans == answer_right: print("答对啦,你真是个天才!") m = m + 1 else: print("再想想吧,答案似乎是", answer_right, "喔!") n = n + 1 print("你一共答对", m, "道题,一共20道题。")
功能测试:
功能: 加括号
代码部分
#在4个数字之间分别判断是否加入括号,定义left_1-3,right_1-3共6个变量
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
因此,表达式也更新为:
equal = operator2[left_1] + str(a) + operator1[x] + operator2[left_2] + str(b) + operator2[right_1] + operator1[y] + operator2[left_3] + str(c) + operator2[right_2] + operator1[z] + str(d) + operator2[right_3]
测试图片:
功能:数量及打印txt
代码:
if __name__ == "__main__": import argparse parser = argparse.ArgumentParser() parser.add_argument("-c", "--cin") args = parser.parse_args() if args.cin == None: f4()._f4_input() else: f4()._f4_integer_parser(args.cin)
测试结果
原文:https://www.cnblogs.com/yangjm137/p/9753628.html