Циклы Python и счетчик

#python

#python

Вопрос:

Вот мой код;

 mood = 0
if mood == 5: 
     mood = 4
# I don't want the mood going over four
  

Вот как повышается настроение;

 moode = raw_input("how are you").lower()
if 'bad' in moode:
    mood  = 1
    print ('You have said that %s times today')%(mood)
  

Проблема в том, что если вы произнесете это 5 раз, она ответит: «Вы сказали это 5 раз», но я не хочу, чтобы настроение перевалило за четыре?

Комментарии:

1. mood и moode ? Я надеюсь, что эти имена — просто (плохой) пример, и вы не используете их в реальном коде.

2. Они являются плохим примером

Ответ №1:

Вам нужно проверить значение mood после его увеличения.

 mood = 0
if 'bad' in moode:
    mood  = 1
    if mood > 4:
        mood = 4
    print ('You have said that %s times today')%(name)
  

или, как упоминал @arsajii, даже не увеличивайте оба, если это уже 4 или выше

 mood = 0
if 'bad' in moode:
    if mood < 4:
        mood  = 1
    print ('You have said that %s times today')%(name)
  

Комментарии:

1. Или еще лучше: if mood < 4: mood = 1 .

2. 'bad' in mood никогда не будет True здесь.

3. настроение = (настроение 1) % 4