Python Forum
Invalid Syntax Error on Import
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Invalid Syntax Error on Import
#1
Hey All,

I am a beginner in Python and I am still in the learning stage. While I was learning an Example of Dual Mode code in my book, I came across the code below which I coded in a file as is but when I run it, it gives me an 'Invalid Syntax' error and highlights the import coded towards the end (Line 54). I tried running the file through command prompt, IDLE, checked indentation but to no avail. I am sure I am probably missing something very silly but can anyone please help.

-Arjun

#!python
"""
File: formats.py (2.X and 3.X)
Various specialized string display formatting utilities.
Test me with canned self-test or command-line arguments.
To do: add parens for negative money, add more features.
"""

def commas(N):
    """
    Format positive integer-like N for display with
    commas between digit groupings: "xxx,yyy,zzz".
    """
    digits = str(N)
    assert(digits.isdigit())
    result = ''
    while digits:
        digits, last3 = digits[:-3], digits[-3:]
        result = (last3 + ',' + result) if result else last3
    return result

def money(N, numwidth=0, currency='$'):
    """
    Format number N for display with commas, 2 decimal digits,
    leading $ and sign, and optional padding: "$ -xxx,yyy.zz".
    numwidth=0 for no space padding, currency='' to omit symbol,
    and non-ASCII for others (e.g., pound=u'\xA3' or u'\u00A3').
    """
    sign    = '-' if N < 0 else ''
    N       = abs(N)
    whole   = commas(int(N))
    fract   = ('%.2f' % N)[-2:]
    number  = '%s%s.%s' % (sign, whole, fract)
    return '%s%*s' % (currency, numwidth, number)

if __name__ == '__main__':
    def selftest():
        tests = 0, 1            # fails:-1, 1.23
        tests += 12, 123, 1234, 12345, 123456, 1234567
        tests += 2 ** 32, 2 ** 100
        for test in tests:
            print(commas(test))

        print('')
        tests = 0, 1, -1, 1.23, 1., 1.2, 3.14159
        tests += 12.34, 12.344, 12.345, 12.346
        tests += 2 ** 32, (2 ** 32 + .2345)
        tests += 1.2345, 1.2, 0.2345
        tests += -1.2345, -1.2, -0.2345
        tests += -(2 ** 32), -(2 ** 32 + .2345)
        tests += (2 ** 100), -(2 ** 100)
        for test in tests:
            print('%s [%s]' % (money(test, 17), test)
    import sys
    if len(sys.argv) == 1:
        selftest()
    else:
        print(money(float(sys.argv[1]), int(sys.argv[2])))
Reply
#2
You are missing close parens at the end of line 53. With a syntax error, it's good to check the line before as well as the line indicated.
Craig "Ichabod" O'Brien - xenomind.com
I wish you happiness.
Recommended Tutorials: BBCode, functions, classes, text adventures
Reply
#3
Daaaaaaaaaaaammmmmmmmmmmmmmmnnnnnnnnnnnnn!!!!!

I knew it was going to be silly but that was outrageous. I guess that what happens when you stare at your problem for 1 hour...Thanks a lot man...
Reply
#4
(Jul-07-2018, 03:12 PM)arjunsingh2908 Wrote: I guess that what happens when you stare at your problem for 1 hour.

Don't worry. We've all been there, and will be there again.
Craig "Ichabod" O'Brien - xenomind.com
I wish you happiness.
Recommended Tutorials: BBCode, functions, classes, text adventures
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  SyntaxError: invalid syntax Fortuitous 3 69 Apr-28-2026, 01:46 PM
Last Post: DeaD_EyE
  Trying to use pyinstaller results in a syntax error mark1969 2 58 Apr-15-2026, 01:59 PM
Last Post: snippsat
  Dynamic Module Import Error DaddyMAN 3 1,642 Jun-20-2025, 12:07 AM
Last Post: Pedroski55
  Error on import: SyntaxError: source code string cannot contain null bytes kirkwilliams2049 10 26,950 May-26-2025, 01:55 PM
Last Post: deanhystad
  POST Syntax error amplay 0 1,387 Aug-07-2024, 02:43 PM
Last Post: amplay
  is this really a syntax error? Skaperen 4 2,552 May-25-2024, 07:31 AM
Last Post: snippsat
  World Clock syntax error OscarBoots 1 1,759 May-03-2024, 05:20 AM
Last Post: snippsat
  Syntax error for "root = Tk()" dlwaddel 15 10,783 Jan-29-2024, 12:07 AM
Last Post: dlwaddel
Photo SYNTAX ERROR Yannko 3 2,071 Jan-19-2024, 01:20 PM
Last Post: rob101
  error: invalid command 'egg_info' TimTu 0 2,722 Jul-27-2023, 07:30 AM
Last Post: TimTu

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020