利用全局变量设计一款猜数游戏,玩家通过网页提交所猜的数据,程序根据用户的输入给出相应的提示,要求最多猜错五次游戏结束
时间: 2024-05-13 14:17:26 浏览: 101
下面是一个利用全局变量设计的猜数游戏的示例代码,使用了 Python Flask 框架实现了网页交互:
```python
from flask import Flask, request
app = Flask(__name__)
# 初始化全局变量
guess_num = 42
guess_count = 0
@app.route('/', methods=['GET', 'POST'])
def guess():
global guess_num, guess_count
if request.method == 'POST':
# 用户提交猜测的数字
guess = int(request.form['guess'])
guess_count += 1
if guess == guess_num:
# 猜对了
message = '恭喜你,猜对了!'
elif guess_count >= 5:
# 猜错次数超过5次,游戏结束
message = '很遗憾,你已经猜错超过5次,游戏结束。正确答案是 %d。' % guess_num
guess_num = None
elif guess < guess_num:
# 猜小了
message = '你猜的数字太小了,再试一次。'
else:
# 猜大了
message = '你猜的数字太大了,再试一次。'
else:
# 初次访问页面,初始化游戏
guess_num = 42
guess_count = 0
message = '猜一猜我心里想的是哪个数字(1-100),最多猜错5次。'
return '''
<html>
<body>
<p>{}</p>
<form method="post">
<p><input type="text" name="guess"></p>
<p><input type="submit" value="提交"></p>
</form>
</body>
</html>
'''.format(message)
if __name__ == '__main__':
app.run()
```
这个代码使用 `guess_num` 和 `guess_count` 两个全局变量来记录正确答案和猜错次数,每次用户提交猜测的数字时,程序会根据用户输入更新 `guess_count`,并根据 `guess_num` 和用户输入给出相应的提示。当猜错次数超过5次时,游戏结束,`guess_num` 被设为 `None`。初次访问页面时,会初始化游戏,`guess_num` 和 `guess_count` 被重置为初始值,并给出游戏规则的提示。
注意,由于 Flask 是单线程的,全局变量可能会出现并发访问的问题。如果需要支持多用户并发访问,可以考虑使用数据库或者其他共享存储来保存游戏状态。
阅读全文