New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Incorrect calculation of equivalent logical expressions #113651
Comments
Hello!
So, In future, first of all, ask your question on https://discuss.python.org/c/users/7, please. |
Кирилл! Я не знаком с математическим аппаратом, который позволяет
вычислять булевы операции над строками подобным образом. Подскажите,
пожалуйста, где я могу с ним познакомиться. И посмотрите математическую
логику, там четко выводится эквивалентность (и значит одинаковое логическое
значение) этих выражений.
вт, 2 янв. 2024 г. в 15:44, Kirill Podoprigora ***@***.***>:
… Closed #113651 <#113651> as not
planned.
—
Reply to this email directly, view it on GitHub
<#113651 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/BEOASWQDGY6Z44M5H7XRGE3YMP6MRAVCNFSM6AAAAABBJ6G54WVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJRGM3DSOJWGE2TSOA>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Выражения |
Кирилл! Вы не сумели меня убедить. Похоже, семантика языка не учитывает
контекст вычисления данного логического выражения. По правилам
математической логики выражение ('a' or 'b') in str разворачивается в
эквивалентное ему выражение 'a' in str or 'b' in str, и соответственно,
правильно вычисляется. Попробуйте доказать обратное - и Вы убедитесь в моей
правоте. И прошу в качестве аргументов использовать только математический
аппарат, а не придуманную семантику языка. Я повторяю, в семантических
правилах могла закрасться ошибка.
вт, 2 янв. 2024 г. в 16:27, Kirill Podoprigora ***@***.***>:
… Кирилл! Я не знаком с математическим аппаратом, который позволяет
вычислять булевы операции над строками подобным образом. Подскажите,
пожалуйста, где я могу с ним познакомиться. И посмотрите математическую
логику, там четко выводится эквивалентность (и значит одинаковое логическое
значение) этих выражений. вт, 2 янв. 2024 г. в 15:44, Kirill Podoprigora
*@*.
*>: … <#m_-1531401562878001803_> Closed #113651
<#113651> <#113651
<#113651>> as not planned. — Reply
to this email directly, view it on GitHub <#113651 (comment)
<#113651 (comment)>>, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BEOASWQDGY6Z44M5H7XRGE3YMP6MRAVCNFSM6AAAAABBJ6G54WVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJRGM3DSOJWGE2TSOA
<https://github.com/notifications/unsubscribe-auth/BEOASWQDGY6Z44M5H7XRGE3YMP6MRAVCNFSM6AAAAABBJ6G54WVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJRGM3DSOJWGE2TSOA>
. You are receiving this because you authored the thread.Message ID: @.*>
Выражения 'q' in target_word or 'z' in target_word и ('q' or 'z') in
target_word семантически являются разными с точки зрения языка. Выше я
скинул ссылку на официальную документацию, которая рассказывает про то как
выполняется выражение a or b. Здесь нет никакой связи с эквивалентностью
—
Reply to this email directly, view it on GitHub
<#113651 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BEOASWVFUBSSKJSWJC5LIQLYMQDLZAVCNFSM6AAAAABBJ6G54WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNZUGAZDKMRTG4>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Это не ошибка, это так задумано. |
Т.е. Вы хотите сказать что ошибка задумана? |
Bug report
Bug description:
A training task is given:
It is believed that the letters q and z are less common in English than other letters. You decided to write a program that allows users to enter words and checks whether this word can be considered rare or not. The word you are interested in is contained in the target_word variable.
Let this program display one of two phrases: "Wow! You have entered a rare word!" if the word has the letter q or the letter z, or "This is not a very rare word..." if it does not contain these letters.
The problem has two possible solutions.
Option 1:
Everything works correctly on the test words 'qarter', 'zero', 'show'.
Option 2:
Everything works correctly on the test words 'qarter' and 'show'.
On the test word 'zero', the calculation of the logical expression does not work correctly.
Conclusion: there is an error in the Python interpreter as a result of which equivalent logical expressions are not evaluated equivalently.
CPython versions tested on:
3.8
Operating systems tested on:
Windows
The text was updated successfully, but these errors were encountered: