Thomas Passin wrote:
On 4/19/2023 1:27 AM, Kevin M. Wilson via Python-list wrote:
Ok, I got rid of the "print (f'"I am thinking of a number between 1 to {LIMIT}\n")"print ("I am thinking of a number between 1 to {LIMIT}\n"),

I think you misunderstand several things at the same time here.

1. These errors originate from syntax errors.  They are basically Python errors.  It's possible that behind the scenes, PyCharm is running one or another Python program to detect them, but they are errors in your Python code.

2. print() doesn't care whether you give it an f-string or not, because a f-string is a string too.

3. All strings need to be closed with the same kind of quote they started with.  If one is not closed, then Python thinks the string is supposed to continue, and - say- the final parenthesis of the print() function looks like it is part of the string. So Python (or PyCharm) notices that the closing parenthesis of the print() expression is missing.

4. in an f-string, the expression in braces is evaluated and replaced by its string value.  So if you try to do this

print('{LIMIT}')

then that will be printed as is with no  substitution - because it is not an f-string.  So you will see "{LIMIT}" But you thought you were going to see "42" (if LIMIT == 42, that is). OTOH,

print(f'{LIMIT})

^ I think this one should be:

print(f'{LIMIT}')

with the closing quote ;o)

will substitute the string value of LIMIT before printing the string. Both are legitimate but the first is not what you seem to want.

5. As I posted earlier, you almost certainly do not need to add the "\n".

So, some suggestions:

- If you are having a problem with some piece of code, try to simplify it down to the smallest bit that shows the problem.

- If you are having trouble with f-strings, then think about what you want to achieve and look up information about f-strings with that in mind.

- If you are having trouble with the print statement, think what you want it to display and look up information about the print function with that in mind.

- If your tool - PyCharm in this case - is producing messages but you don't understand why they are being produced, try to look up information about how and when PyCharm produces error messages

Do you see a pattern here?

Also note that just because you don't see an error message does not mean that the code is correct.  It may be correct from the point of view of Python syntax but that doesn't mean that it will perform correctly nor how you expect.

and Pycharm stopped complaining about it... WHY??
Perplexed
"When you pass through the waters, I will be with you: and when you pass through the rivers, they will not sweep over you. When you walk through the fire, you will not be burned: the flames will not set you ablaze."
Isaiah 43:2

     On Tuesday, April 18, 2023 at 11:17:52 PM MDT, Kevin M. Wilson via Python-list <python-list@python.org> wrote:   print (f'"I am thinking of a number between 1 to {LIMIT}\n")I had the impression that the format specifier 'f' was necessary for the print function, but the double quotes are for the string printed to the user, as a prompt!The Pycharm IDE is showing that it expects a single quotation mark or ')'! No error message is displayed.
Perplexed
"When you pass through the waters, I will be with you: and when you pass through the rivers, they will not sweep over you. When you walk through the fire, you will not be burned: the flames will not set you ablaze."
Isaiah 43:2

     On Tuesday, April 18, 2023 at 06:44:37 PM MDT, aapost <aap...@idontexist.club> wrote:
  On 4/18/23 19:18, Kevin M. Wilson wrote:
Why complain about a 'comma', or a ')'???
       print (f'"I am thinking of a number between 1 to {LIMIT}\n")

my version says it expects ' first (to close the fstring)
then on a new line below it, it mentions the comma and )
I believe that is just showing you after ' it expects you to end the
print with ) as you have
or , to add additional arguments to print

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to