私は次のコードを持っています。正常に動作しますが、players
のリストの長さが0になると、私のWebページは空白になり、このIndexError: list index out of range
エラーが端末(サーバー)に表示されます。 players
のリストが空になると、サーバーをself.redirect('/')
にリダイレクトする方法が必要です。IndexError:リストインデックスが範囲外です。 webapp2
def choose_random_player(list):
return random.choice(list)
class GuessPlayer(Handler):
players = ['sanchez', 'welbeck', 'giroud', 'ozil', 'ramsey']
random_player = choose_random_player(players)
score = 0
def get(self):
self.render("guessplayer.html",
random_player=GuessPlayer.random_player,
score=GuessPlayer.score)
def post(self):
user_answer = self.request.get("player-name")
if user_answer == GuessPlayer.random_player:
GuessPlayer.score += 1
GuessPlayer.players.remove(GuessPlayer.random_player)
GuessPlayer.random_player = choose_random_player(GuessPlayer.players)
self.render("guessplayer.html",
random_player=GuessPlayer.random_player,
score=GuessPlayer.score)
else:
self.render("guessplayer.html",
random_player=GuessPlayer.random_player,
score=GuessPlayer.score)
HTMLフォーム:
{% extends 'base.html' %}
{% block content %}
<div class="row">
<div class="col-md-12 text-center">
<h4>Enter The Player Name</h4>
<div class="thumbnail">
<div class="score">Score: {{score}}</div>
<img src="../images/{{random_player}}.jpg" alt="...">
<form method="post">
<input type="text" name="player-name">
<br><br>
<input type="submit" class="btn btn-primary">
</form>
</div>
</div>
</div>
{% endblock %}
'choose_random_player'の定義を追加してください。 –