将第一题程序功能扩展为能够对四则运算等式结果进行正确、错误的判断,写出相 应增加的乘、除功能程序代码。
时间: 2024-05-07 18:18:31 浏览: 9
以下是修改后的程序代码:
```python
import random
# 生成随机数
def generate_number():
return random.randint(1, 100)
# 生成随机运算符
def generate_operator():
operators = ['+', '-', '*', '/']
return random.choice(operators)
# 计算结果
def calculate(num1, num2, operator):
if operator == '+':
return num1 + num2
elif operator == '-':
return num1 - num2
elif operator == '*':
return num1 * num2
elif operator == '/':
return num1 / num2
# 判断答案是否正确
def check_answer(num1, num2, operator, answer):
if operator == '+':
return num1 + num2 == answer
elif operator == '-':
return num1 - num2 == answer
elif operator == '*':
return num1 * num2 == answer
elif operator == '/':
return num1 / num2 == answer
# 主程序
def main():
while True:
num1 = generate_number()
num2 = generate_number()
operator = generate_operator()
if operator == '/':
while num2 == 0 or num1 % num2 != 0: # 保证除数不为0,且能整除
num1 = generate_number()
num2 = generate_number()
equation = '{} {} {} = '.format(num1, operator, num2)
answer = input(equation)
try:
answer = int(answer)
except ValueError:
print('请输入数字!')
else:
if check_answer(num1, num2, operator, answer):
print('回答正确!')
else:
print('回答错误!')
if __name__ == '__main__':
main()
```
在原有的程序基础上,增加了两个函数:`check_answer` 和 `generate_operator`。`check_answer` 函数用于判断答案是否正确,根据运算符进行相应的计算,并与输入的答案进行比较。`generate_operator` 函数用于生成随机运算符,包括了乘法和除法。
对于除法运算,需要特别注意除数不能为0,同时被除数必须能整除,因此需要在生成随机数的时候进行判断,直到生成符合要求的数才继续进行运算。