Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Problemas com casas decimais

dia= 01
mês= 05
ano= 2021
print( dia, mês, ano, sep="/")

#o zero não e aceito pelo programa como eu faria?

4 respostas
solução!

Para formatar string (e output do print é uma string) com casas decimais ou leading zeros você precisa usar outras formas de usar print, abaixo vou explicar tanto string.format quanto f-string.

dia= 01
mes= 05
ano= 2021

# com string.format
print( '{0:02d}/{1:02d}/{2:04d}'.format(dia, mes, ano) 

# antes dos :, o índice 0, 1 e 2 é a ordem dos argumentos dentro do format
# depois dos :, 02d significa que é um inteiro com até 2 leading zeros na esquerda, no 04d seriam 4 leading zeros

# com f-string
print( f-'{dia:02d}/{mes:02d}/{ano:04d}'
# você precisa começar com f-, depois você no lugar de usar índices 0, 1, 2 você já usa o nome da variável 

# com zerofilk
dia_str = str(dia).zfill(2)
mes_str = str(mes).zfill(2)
print(dia_str, mes_str, ano, sep="/") 
# nesse caso eu transformo minhas datas em str com zeros à esquerda antes de usar o print

Abs!

eu joguei o código, mas mesmo assim ele não rodou.

dia = 01
mes = 05
ano = 2021
print( f-'{dia:02d}/{mes:02d}/{ano:04d}')

File "", line 1 dia = 01 ^ SyntaxError: leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers

Falha minha, não tem o "-', o correto é o abaixo:

dia = 1
mes = 5
ano = 2021
print( f'{dia:02d}/{mes:02d}/{ano:04d}')

Abs!

cara não sei se e o programa que buga mesmo, pq tentei a primeira vez e deu certo, fui tentar de novo deu erro kkkkk. Não sei oq rola

o "f" e os "/' estão aparecendo em vermelho agora, n to entendendo mais nada

dia = 1
mes = 5
ano = 2021
    print( f' {dia:02d}/{mes:02d}/{ano:04d}')