#python
#питон
Вопрос:
Я создаю игру, в которой есть 3 числа, 1-е и 2-е будут показаны, но третье будет скрыто. Если 3-е число находится между 1-м и 2-м, пользователь выиграет, если нет, то пользователь проиграет. Например, 1-е число равно 3, а 2-е число равно 6, и пользователь угадает, находится ли 3-е число между 2 числами. Таким образом, если 3-е число равно 5, что находится между 3 и 6, то пользователь выиграет, но если 3-е число равно 2, что не находится между 3 и 6, то пользователь проиграет. Вопрос в том, какие сравнения я должен провести, чтобы сделать это? Приведенный ниже код является лишь примером того, что я сделал, не работает должным образом
if (trd_crd gt; fst_crd and trd_crd lt; snd_crd): print("Congrats, you win!")
Комментарии:
1.
low lt; your_number lt; high
2. @ForceBru, Это точно то же самое, что и условие операции, просто еще один способ его написания, поэтому он не изменяет оценку. Итак, если условие операции неверно, это тоже неверно.
3. Что вы подразумеваете под «неправильной работой»? Выражение выглядит точно так, как оно должно выглядеть для выполнения описываемой вами задачи.
Ответ №1:
Похоже, вы предполагали, что ваш fst_crd
размер меньше, чем snd_crd
это не всегда так. Иногда у вас может быть fst_crd gt; snd_crd
, в этом случае вам нужно будет проверить if fst_crd gt;trd_crd gt; snd_crd
.
Итак, я буду рекомендовать вам использовать :
if((trd_crd gt; fst_crd and trd_crd lt; snd_crd) or (trd_crd gt; snd_crd and trd_crd lt; fst_crd)): print("Congrats, You win!")
Ответ №2:
Синтаксис value1 lt; value2 lt; value3
работает так, как вы ожидаете в математике.
вы можете сделать:
if(fst_crd lt; trd_crd lt; snd_crd): print("Conrgrats, you win!")
Комментарии:
1. Это точно то же самое, что и условие операции, просто еще один способ его написания, поэтому он не изменяет оценку. Итак, если условие операции неверно, это тоже неверно.
Ответ №3:
Что делать, если 3-е число равно либо 1-му, либо 2-му числам, в этом случае у вас должно быть or equals
в сравнениях , так и должно быть if (trd_crd gt;= fst_crd and trd_crd lt;= snd_crd):
, что также можно записать как if (fst_crd lt;= trd_crd lt;= snd_crd):
.