用python写一个星空版的动态高考加油
时间: 2023-11-29 14:06:54 浏览: 414
很高兴为您提供一个Python写的星空版的动态高考加油代码,希望它能为您带来一些乐趣和鼓舞!以下是代码实现:
```
# 导入必要的模块
import random
import time
# 星空画布
star_canvas = [' ' for i in range(100)]
# 随机生成星星
def generate_star():
index = random.randint(0, 99)
star_canvas[index] = '★'
# 显示星空画布
def show_star_canvas():
print('\n'.join([' '.join(star_canvas[i:i+10]) for i in range(0, 100, 10)]))
# 定义一个函数,用于生成随机题目
def generate_question():
# 随机生成两个数字
a = random.randint(1, 100)
b = random.randint(1, 100)
# 随机生成运算符
operator = random.choice(['+', '-', '*', '/'])
# 根据运算符计算结果
if operator == '+':
result = a + b
elif operator == '-':
result = a - b
elif operator == '*':
result = a * b
else:
# 避免出现小数,将b设置为a的因数
b = random.choice([i for i in range(1, a+1) if a % i == 0])
result = int(a / b)
# 返回题目和答案
return f"{a} {operator} {b} =", result
# 主函数
def main():
# 定义变量,存储分数和题目数量
score = 0
num_questions = 10
# 循环生成题目
for i in range(num_questions):
# 生成星星
generate_star()
# 显示星空画布
show_star_canvas()
# 生成题目
question, answer = generate_question()
# 输出题目
print(f"\n第{i+1}题:{question}")
# 获取用户的回答
user_answer = input()
# 判断答案是否正确
if int(user_answer) == answer:
# 回答正确,加分
score += 10
print("回答正确!")
else:
# 回答错误,不加分
print("回答错误!")
# 暂停一段时间,让用户看清楚星空画布
time.sleep(1)
# 输出最终成绩
print(f"你的最终成绩是:{score}分,共{num_questions}道题。")
# 调用主函数
if __name__ == '__main__':
main()
```
这个代码会随机生成10道四则运算题目,并在每道题目前显示一个星空画布,让您感受到浩瀚星空的壮美。每当您输入一个答案后,星空画布会重新生成,让您在等待下一道题目的过程中有一些放松和欣赏的时间。希望这个代码能帮助您在备考高考时保持一份愉悦和轻松的心态!
阅读全文