四则运算(+-×÷)各出2题,除法每题20分,其他每题10分。每题通过计算机随机产生两个1~100之间的整数作为运算数据(除法要能整除)。学生根据题目输入输入答案,如果输入答案正确,则显示“Right!”,否则显示“Not correct!”,然后显示下一题,不给机会重做。测试结束后,统计总得分和错误题数并输出。 编程要求: ● 写一个子函数,跟据传入的两个运算数据及运算符并实现运算。同时,在子函数中提示学生输入答案,答案对比运算结果进行判断,返回判断结果(正确1、不正确0)
时间: 2023-03-23 19:03:53 浏览: 1314
以下是一个可能的程序实现:```python
import randomdef calculate(num1, num2, operator):
if operator == '+':
result = num1 + num2
elif operator == '-':
result = num1 - num2
elif operator == '*':
result = num1 * num2
elif operator == '/':
result = num1 // num2 # 整除
else:
raise ValueError('Invalid operator')
answer = int(input(f'{num1} {operator} {num2} = '))
if answer == result:
print('Right!')
return 1
else:
print('Not correct!')
return score =
wrong_count = for i in range(2):
num1 = random.randint(1, 100)
num2 = random.randint(1, 100)
operator = random.choice('+-*/')
if operator == '/' and num1 % num2 != :
num1, num2 = num2, num1 # 交换数值,使得除法能够整除
score += calculate(num1, num2, operator) * 20 if operator == '/' else calculate(num1, num2, operator) * 10
wrong_count += 1 - calculate(num1, num2, operator)print(f'Total score: {score}')
print(f'Wrong count: {wrong_count}')
```程序首先定义了一个 `calculate` 函数,用于计算一道题目,并返回学生的答题情况。函数接受三个参数:两个运算数据和运算符。函数首先根据运算符计算出正确的结果,然后提示学生输入答案。如果答案正确,则打印出 "Right!",返回 1;否则打印出 "Not correct!",返回 。程序的主体部分使用一个循环来生成两道题目。每次循环中,程序使用 `random` 模块生成两个 1 到 100 之间的整数和一个随机的运算符。如果运算符是除法,程序还要判断是否能够整除,如果不能整除则交换两个数值。然后程序调用 `calculate` 函数计算这道题目,并根据运算符决定加多少分。同时,程序统计错误题数。最后,程序输出总得分和错误题数。
阅读全文