Python 3.9, erro - Positional argument follows keyword argument

150 views
Skip to first unread message

Samuel Carlos Ribeiro

unread,
Feb 15, 2021, 4:59:18 PM2/15/21
to Python Brasil
Bom dia 
Sou novato no forum, estou aprendendo PyThon agora, este é o código onde esta dando o erro que segue no titulo.
Por favor analisen e me ajudem a encontrar a solução.
Obrigado



from tkinter import*
import time;
import datetime

import pygame, sys, random

pygame.init()
root = Tk()
root.title("Sistema de Automação de Vendas")
root.geometry('1352x750+0+0')

root.configure(background='orange')

FrameABC = Frame(root, bg = "blue", bd = 20, relief = RIDGE)
FrameABC.grid()

FrameABC1 = Frame(FrameABC, bg = "blue", bd = 10, relief = RIDGE)
FrameABC1.grid(row=0, column=0, columnspan=4, sticky=W)

FrameABC2 = Frame(FrameABC, bg = "blue", bd = 10, relief = RIDGE)
FrameABC2.grid(row=1, column=0, sticky=W)

FrameABC3 = Frame(FrameABC, bg = "blue", bd = 10, relief = RIDGE)
FrameABC3.grid(row=1, column=1, sticky=W)

FrameABC4 = Frame(FrameABC, bg = "blue", bd = 10, relief = RIDGE)
FrameABC4.grid(row=1, column=2, sticky=W)

FrameABC5 = Frame(FrameABC4, bg = "blue", bd = 10, relief = RIDGE)
FrameABC5.grid(row=0, column=0, sticky=W)

FrameABC6 = Frame(FrameABC4, bg = "blue", bd = 10, relief = RIDGE)
FrameABC6.grid(row=1, column=0, columnspan=4, sticky=W)

lblDate = Label(FrameABC1, text = "\tDate\t", font = ('arial', 30, 'bold'), padx=9, pady=9,
                bd=14,bg="cadet blue",fg="cornsilk",justify=CENTER,grid(row=0, column=0)


root.mainloop()
 


Marcelo Valle

unread,
Feb 15, 2021, 5:44:20 PM2/15/21
to Python Brasil
Veja o stack trace (traceback) do erro - ele deve te informar em que linha do codigo o erro estah ocorrendo

--
--
------------------------------------
Grupo Python-Brasil
https://wiki.python.org.br/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/python-brasil/358600c3-fb00-4296-9ff9-22956851eba2o%40googlegroups.com.

Alexandre Y. Harano

unread,
Feb 15, 2021, 6:36:25 PM2/15/21
to python...@googlegroups.com
A partir do Python 3.8, pela PEP 570 [1] existe a possibilidade de definir argumentos que são exigidos somente na ordem requerida e sem referência ao nome do parâmetro definido na função/método.

A definição da existência de parâmetros passados somente de forma posicional é através da inclusão de /, sendo que todos os parâmetros definidos antes de / devem ser passados na ordem declarada. Além disso, esses parâmetros antes do / não podem ser passados por palavra chave (argumento=valor) nem passados depois de argumentos por palavra chave (como o erro indicado no título do e-mail).

Segue exemplo abaixo.


```python
>>> def argumentos(x, y, /, z=None):
... print('x:', x, 'y:', y, 'z:', z)
...
>>> argumentos(1, 2, 3)
x: 1 y: 2 z: 3
>>> argumentos(1, 2)
x: 1 y: 2 z: None
>>> argumentos(1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: argumentos() missing 1 required positional argument: 'y'
>>> argumentos(1, 2, z=3)
x: 1 y: 2 z: 3
>>> argumentos(1, y=2, z=3)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: argumentos() got some positional-only arguments passed as keyword arguments: 'y'
>>> argumentos(x=1, y=2)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: argumentos() got some positional-only arguments passed as keyword arguments: 'x, y'
>>> argumentos(z=3, 1, 2)
  File "<stdin>", line 1
    argumentos(z=3, 1, 2)
                        ^
SyntaxError: positional argument follows keyword argument
```

[1] PEP 570 -- Python Positional-Only Parameters https://www.python.org/dev/peps/pep-0570/


Até mais,

-- 
Alexandre Harano


Sobrinhos Tia Dani

unread,
Feb 16, 2021, 7:09:46 AM2/16/21
to python...@googlegroups.com
Bom dia, 

Também sou novato, mas acho que na linha do label o grid(row=0, column=0) tem que ficar em outra linha 
tipo lblDate.grid(row=0, column=0)


Luiz Antonio Calliari Filho

unread,
Feb 16, 2021, 9:37:07 PM2/16/21
to Python Brasil
Boa noite,
Não estaria faltando o parenteses de fechamento do Label?

lblDate = Label(FrameABC1, text = "\tDate\t", font = ('arial', 30, 'bold'), padx=9, pady=9,
                bd=14,bg="cadet blue",fg="cornsilk",justify=CENTER,grid(row=0, column=0)

Abraço

Samuel Carlos Ribeiro

unread,
Feb 25, 2021, 4:50:13 PM2/25/21
to Python Brasil
Boa noite 
Resolvido muito obrigado pela ajuda


Em segunda-feira, 15 de fevereiro de 2021 18:59:18 UTC-3, Samuel Carlos Ribeiro escreveu:
Reply all
Reply to author
Forward
0 new messages