结对编程--四则运算(Python)
合作伙伴: 2252619
前言
按照结对编程的原则,我和小组另一个成员进行了两人进行了结对编程,我们开发的结对项目的是小学的四则运算,具体就是随机生成四则运算题目,供学生答题并返回正误。经过讨论,介于Python优秀的计算功能以及时间限制,我们将采用Python开发一个控制台程序。
功能要求
小学老师要每周给同学出300道四则运算练习题。
–这个程序有很多种实现方式:
C/C++
C#/VB.net/Java
Excel
Unix Shell
Emacs/Powershell/Vbscript
Perl
Python
–两个运算符,100 以内的数字,不需要写答案(实现)
–需要检查答案是否正确,并且保证答案在 0..100 之间(实现)
–尽可能地多设置一些条件
添加的条件:
给出的题目的结果为0--100之间的整数
在算式中出现除法运算时,除法运算能够整除
编程阶段
由我负责编程,与我组队的同学在一旁观看。首先,我们先最整体的框架进行了讨论,决定了要实现的功能以及如何实现。然后,进入编程阶段,我的同伴与我断地进行交流沟通,并且在思路卡住的时候提出一些想法,最终实现了四则运算的题目。
代码如下:
`import random
import math
def generate_expression():
operators = ['+', '-', '*', '/']
while True:
num1 = random.randint(0, 100)
num2 = random.randint(1, 100)
num3 = random.randint(1, 100)
while num2 == num3:
num3 = random.randint(1, 100)
operator1 = random.choice(operators)
operator2 = random.choice(operators)
expression = f"{num1} {operator1} {num2} {operator2} {num3}"
try:
result = eval(expression)
if 0 <= result <= 100 and result == int(result):
if operator1 == '/':
if num1 % num2 == 0:
return expression, int(result)
elif operator2 == '/':
if num2 % num3 == 0:
return expression, int(result)
else:
return expression, int(result)
except ZeroDivisionError:
pass
def main():
print("欢迎使用四则运算生成器!输入n退出程序。")
while True:
expression, answer = generate_expression()
print("题目:", expression)
user_answer = input("请输入答案:")
if user_answer == 'n':
print("感谢使用,再见!")
break
try:
user_answer = int(user_answer)
if user_answer == answer:
print("回答正确!")
else:
print("回答错误!")
except ValueError:
print("请输入一个整数或者输入n退出程序。")
if name == "main":
main()
`
运行展示
输入正确/错误答案:
包涵除法且可以整除:
包涵乘法:
非法输入:
退出程序:
总结与收获
这次与另外同学的结对编程,发现自己某些方面的不足,某些考虑不全面,有时候同学都可以一针见血的指出,同时两个人同时编程感觉更高效考虑的更全面。结对编程过程中,和同伴可以分享彼此的技术知识和经验。这种交流能够促进双方的技术成长,学习到新的编程技巧和方法。
标签:结对,编程,--,四则运算,random,answer,100,expression From: https://www.cnblogs.com/muovo/p/18134160