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
  501 Server cannot accept argument anna17 0 170 Apr-11-2024, 01:08 AM
Last Post: anna17
  Django "Unexpected Keyword Argument 'min_value'" AstralWeeks 0 196 Mar-27-2024, 04:56 AM
Last Post: AstralWeeks
  File is not being created with 'w' argument CAD79 3 419 Mar-14-2024, 12:05 PM
Last Post: snippsat
  __init__() got multiple values for argument 'schema' dawid294 4 2,246 Jan-03-2024, 09:42 AM
Last Post: buran
  mutable argument in function definition akbarza 1 470 Dec-15-2023, 02:00 PM
Last Post: deanhystad
  Find a specific keyword after another keyword and change the output sgtmcc 5 806 Oct-05-2023, 07:41 PM
Last Post: deanhystad
  Strange argument count error rowan_bradley 3 706 Aug-06-2023, 10:58 AM
Last Post: rowan_bradley
  Invalid argument: 'images\x08ackground.jpg' CatBall 4 954 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,072 Dec-25-2022, 03:00 PM
Last Post: askfriends
  i want to use type= as a function/method keyword argument Skaperen 9 1,833 Nov-06-2022, 04:28 AM
Last Post: Skaperen

Forum Jump:

User Panel Messages

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