Python Forum
SyntaxError: positional argument follows keyword argument
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
SyntaxError: positional argument follows keyword argument
#1
Hello All,

I am trying to do four simple things:
1. Prompt user for input,
2. Store user entered input in variable,
3. Repeat 1 and 2,
4. Add the values stored in two variables and output/display the result.

I know the following works:
print("Enter the first number:", end = ' ')
first = int(input())
print("Enter the second number:", end = ' ')
second = int(input())
print("The answer is:", first + second)
BUT I want to do it all on a single line, like below - is this even possible?
print("Enter another number:", end = ' ', third = int(input()), "And another number:", end = ' ', fourth = int(input()), "The answer is:", third + fourth)
When I try the single line, I get
Quote:SyntaxError: positional argument follows keyword argument
error message.

I am using Python3.8.1
Reply
#2
Getting the format, though not in 1 line:
third=int(input('Enter another number: '))
fourth=int(input('Enter yet another number: '))+third
print(f'Sum is {fourth}')
Reply
#3
Thanks for the post.

It isn't quite what I am after but it is an improvement none the less from fives to three lines of code.

Still would like to do it all on one line but if it can't be done then it can't be done.

What exactly is Python complaining about, is it use of variable called 'third' which isn't defined before it is referenced in the one liner print statement?
Reply
#4
(Mar-03-2020, 12:57 AM)syd_jat Wrote: What exactly is Python complaining about, is it use of variable called 'third' which isn't defined before it is referenced in the one liner print statement?
it's complaining because you pass keyword arguments, like 'end' and 'third' (which at later stage will raise unexpected keyword argument error anyway) then positional arguments "And another number:"

the one-liner solution with f-strings is
print(f"The answer is: {int(input('Enter first: ')) + int(input('Enter second: '))}")

but this is really terrible un-pythonic code and I strongly advise against it
If you can't explain it to a six year old, you don't understand it yourself, Albert Einstein
How to Ask Questions The Smart Way: link and another link
Create MCV example
Debug small programs

Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Django "Unexpected Keyword Argument 'min_value'" AstralWeeks 0 79 Yesterday, 04:56 AM
Last Post: AstralWeeks
  File is not being created with 'w' argument CAD79 3 318 Mar-14-2024, 12:05 PM
Last Post: snippsat
  __init__() got multiple values for argument 'schema' dawid294 4 1,879 Jan-03-2024, 09:42 AM
Last Post: buran
  mutable argument in function definition akbarza 1 423 Dec-15-2023, 02:00 PM
Last Post: deanhystad
  Find a specific keyword after another keyword and change the output sgtmcc 5 746 Oct-05-2023, 07:41 PM
Last Post: deanhystad
  Strange argument count error rowan_bradley 3 659 Aug-06-2023, 10:58 AM
Last Post: rowan_bradley
  Invalid argument: 'images\x08ackground.jpg' CatBall 4 902 Jun-19-2023, 09:28 AM
Last Post: CatBall
Information How to take url in telegram bot user input and put it as an argument in a function? askfriends 0 1,026 Dec-25-2022, 03:00 PM
Last Post: askfriends
  i want to use type= as a function/method keyword argument Skaperen 9 1,771 Nov-06-2022, 04:28 AM
Last Post: Skaperen
  Command line argument issue space issue mg24 5 1,279 Oct-26-2022, 11:05 PM
Last Post: Yoriz

Forum Jump:

User Panel Messages

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