使用randint(),eval()函数 1000以内加减,n退出程序y继续,
时间: 2024-02-06 14:02:34 浏览: 59
好的,我可以写一个简单的程序来回答你的问题。以下是代码:
```python
import random
def arithmetic_game():
while True:
num1 = random.randint(0, 1000)
num2 = random.randint(0, 1000)
operator = random.choice(['+', '-'])
expression = f'{num1} {operator} {num2}'
answer = eval(expression)
print(f"What is the result of {expression}?")
user_input = input("Enter your answer (n to exit, y to continue): ")
if user_input == 'n':
print("Exiting program...")
break
elif user_input == 'y':
continue
try:
user_answer = int(user_input)
if user_answer == answer:
print("Correct!")
else:
print(f"Wrong answer. The correct answer is {answer}.")
except ValueError:
print("Invalid input. Please enter an integer.")
if __name__ == '__main__':
arithmetic_game()
```
这个程序会生成两个 0 到 1000 之间的随机数,并随机选择加法或减法运算符。它会打印一个算术表达式,然后等待用户输入答案。如果用户输入 'n',程序将退出;如果用户输入 'y',程序将继续下一个问题。如果用户输入一个整数,程序将检查它是否等于正确的答案。如果用户输入的不是一个整数,程序会提示他们重新输入。
阅读全文