Pycharm IDE

Thomas Passin list1 at tompassin.net
Wed Apr 19 08:33:21 EDT 2023


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})

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 at 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 <aapost at 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



More information about the Python-list mailing list