简体   繁体   中英

Keep getting a 'SyntaxError: unexpected EOF while parsing' when running my app, can't figure out why

I'm using the python 3 idle, and it's not highlighting anything to tell me what the syntax error is. Mentions it's in line nine, though I can't see it.

Here's the code, it's a school project for a 'speed checker'

import time#python module with time related functions

file = open('speeders.txt', 'r')
speeders = file.read()
print (speeders) #prints out list of speeding cars

reg_plate = int(input("Please enter the car's registration plate"))#registration plate
speed_limit = int(input("Please enter your speed limit in mph"))#assigns speed limit
input("Press enter when the car passes the first sensor")#assign values to the end and start time variables
start_time = time.time()
input("Press enter when the car passes the second sensor")
end_time = time.time()
distance = float(input("Enter the distance between the two sensors in metres")) #assigns a value to distance
time_taken = end_time - start_time #works out the time it took the car to travel the length of the road 

AverageSpeed = distance / time_taken #works out the average speed of the car
print ("The average speed of the car is", AverageSpeed, "m/s") #prints out the average speed of the car in m/s
AverageSpeedMPH = (AverageSpeed *  2.23694) #converts to mph
print ("That's", AverageSpeedMPH, "in mph") #prints out the speed in mph

if AverageSpeedMPH > speed_limit: #prints out whether car is speeding, adds to txt file
    print (reg_plate, "is speeding")
    file = open("speeders.txt", "a")
    file.write(reg_plate + ",")
    file.close()
else:
    print (reg_plate, "is not speeding, be on your merry way") #prints out if not speeding

Here's what is displayed when the app runs

Please enter the car's registration plate5
Please enter your speed limit in mph5
Press enter when the car passes the first sensor

Traceback (most recent call last):
  File "C:\Users\Szymon\Google Drive\Computing\Actual CA work\app2.py", line 9, in <module>
    input("Press enter when the car passes the first sensor")#lines 3-7 assign values to the end and start time variables
  File "<string>", line 0

    ^
SyntaxError: unexpected EOF while parsing

It looks like you are using Python2, but still using input() . Try either switching to Python3, or using raw_input() instead.

Use raw_input() instead of 'input()'

If you use input, then the data you type is is interpreted as a Python Expression which means that you end up with gawd knows what type of object in your target variable, and a heck of a wide range of exceptions that can be generated. So you should NOT use input unless you're putting something in for temporary testing, to be used only by someone who knows a bit about Python expressions.

Look here for more. More Info

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM