Python Forum
Why do i have invalid syntax on a line after print, i see no error ?
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Why do i have invalid syntax on a line after print, i see no error ?
#1
main_site = ['mayo', 'ketchup', 'mustard', 'milk', 'eggs']
off_site = ['cocoa', 'flour', 'salt', 'bread', 'butter']
purchases = ['ketchup', 'mustard', 'bread', 'butter']

for purchase in purchases:
    if purchase in main_site or purchase in off_site:
        print("That item is in stock!")
    if purchase in main_site:
        print("The item can be picked up today."
    if purchase in off_site:
        print("The item can be delivered in two to five days.")
    else:
        print("Sorry, that item is not in stock."
print("We hope you purchase from us again!")
It seems to me like it should work. It points to line 10 "if purchase in off_site:" with a syntax error. I don't see it though.

Am I not allowed to use multiple if statements in sequence?

Nevermind. I just noticed I missed some parentheses in a different line.

The program ran when I added the parentheses.

Why didn't it point to the broken print statement though? It pointed to the line below it.
Reply
#2
Line 9
        print("The item can be picked up today."
is missing a ) from the end
Edit:
Line 13 has the same problem.
Reply
#3
I wish I could just delete the thread. Sorry!
Reply
#4
It goes to the next line in case the print statement is carried on in the next line but it finds something it cant print.
        print("The item can be picked up today."
        "on another line")
Reply
#5
Thank you. That makes sense.

I have another question now:

main_site = ['mayo', 'ketchup', 'mustard', 'milk', 'eggs']
off_site = ['cocoa', 'flour', 'salt', 'bread', 'butter']
purchases = ['ketchup', 'mustard', 'bread', 'butter', 'hot dogs']

print("\n")
for purchase in purchases:
    print('\n')
    print(purchase)
    if purchase in main_site or purchase in off_site:
        print("That item is in stock!")
    if purchase in main_site:
        print("The item can be picked up today.")
    if purchase in off_site:
        print("The item can be delivered in two to five days.")
    if purchase not in main_site and purchase not in off_site:
        print("Sorry, that item is not in stock.")
print("We hope you purchase from us again!")
main_site = ['mayo', 'ketchup', 'mustard', 'milk', 'eggs']
off_site = ['cocoa', 'flour', 'salt', 'bread', 'butter']
purchases = ['ketchup', 'mustard', 'bread', 'butter', 'hot dogs']

print("\n")
for purchase in purchases:
    print('\n')
    print(purchase)
    if purchase in main_site or purchase in off_site:
        print("That item is in stock!")
    if purchase in main_site:
        print("The item can be picked up today.")
    if purchase in off_site:
        print("The item can be delivered in two to five days.")
    else:
        print("Sorry, that item is not in stock.")
print("We hope you purchase from us again!")
Example 1 works as expected.

Example 2 says the first two purchases are both in stock and not in stock. Why is the "else" statement working unreliably?

I'm guessing else only works with the last if statement, not every if statement in the for loop?
Reply
#6
if purchase in off_site:
    print("The item can be delivered in two to five days.")
else:
    print("Sorry, that item is not in stock.")
is not effected by the other if's.
else will happen anytime purchase is not in off_site.

if you only want one thing to evaluate true you can use elif
if something:
    do_something()
elif something_else:
    do_something_else()
else:
    ok_do_this_then()
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Syntax error for "root = Tk()" dlwaddel 15 1,015 Jan-29-2024, 12:07 AM
Last Post: dlwaddel
  problem with spliting line in print akbarza 3 336 Jan-23-2024, 04:11 PM
Last Post: deanhystad
Photo SYNTAX ERROR Yannko 3 335 Jan-19-2024, 01:20 PM
Last Post: rob101
  error: invalid command 'egg_info' TimTu 0 911 Jul-27-2023, 07:30 AM
Last Post: TimTu
  Syntax error while executing the Python code in Linux DivAsh 8 1,454 Jul-19-2023, 06:27 PM
Last Post: Lahearle
  Code is returning the incorrect values. syntax error 007sonic 6 1,137 Jun-19-2023, 03:35 AM
Last Post: 007sonic
  print(data) is suddenly invalid syntax db042190 6 1,122 Jun-14-2023, 02:55 PM
Last Post: deanhystad
  File "<string>", line 19, in <module> error is related to what? Frankduc 9 12,393 Mar-09-2023, 07:22 AM
Last Post: LocklearSusan
  syntax error question - string mgallotti 5 1,251 Feb-03-2023, 05:10 PM
Last Post: mgallotti
  Syntax error? I don't see it KenHorse 4 1,194 Jan-15-2023, 07:49 PM
Last Post: Gribouillis

Forum Jump:

User Panel Messages

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