Jump to content

duvida python %


diokhan
 Share

Recommended Posts

boas,

eu estou a iniciar no python, e surgiu-me uma dúvida, ando a procura no Google por informações, mas se alguém puder dar ajuda agradecia

como funciona o %i, %s, %d etc...? ?

pelo que percebi é um para cada tipo de dados, para integers, strings e assim certo?

...Join the dark side...and get a free cookie...

Link to comment
Share on other sites

Sim, e o funcionamento é semelhante ao de C. No entanto, se a memória não me está a atraiçoar, no Python 3.0 o funcionamento das strings de formatação mudou.

Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Link to comment
Share on other sites

O python é uma linguagem de muito alto nível e com isso vêem muitas facilidades em termos de sintaxe (e com isso perda de performance). De qualquer das maneiras na esmagadora maioria dos casos nem precisas de te preocupar com declarações.

Podes utilizar o print como um somatório de strings portanto em vez de te preocupares com que simbologia corresponde ao tipo de dados podes apenas converter todos os teus números para strings e fazer o normal somatório delas:

a='Ola'
space=' '
b='mundo!!!'
print a+space+b

Ola mundo!!!

Para converteres um número para uma string podes utilizar o comando (repr):

c=5.5567634626
print a+space+b+repr(c)

Ola mundo!!!5.5567634626000002

Não sei se isto é válido para o python 3.0 mas não estou a ver porque haveriam de mudar este sistema.

Link to comment
Share on other sites

O python é uma linguagem de muito alto nível e com isso vêem muitas facilidades em termos de sintaxe (e com isso perda de performance). De qualquer das maneiras na esmagadora maioria dos casos nem precisas de te preocupar com declarações.

Podes utilizar o print como um somatório de strings portanto em vez de te preocupares com que simbologia corresponde ao tipo de dados podes apenas converter todos os teus números para strings e fazer o normal somatório delas:

a='Ola'
space=' '
b='mundo!!!'
print a+space+b

Para converteres um número para uma string podes utilizar o comando (repr):

c=5.5567634626
print a+space+b+repr(c)

Não sei se isto é válido para o python 3.0 mas não estou a ver porque haveriam de mudar este sistema.

a = "Ola"
b = "Mundo!!!"

c = 5.5567634626

print a,b+str(c)

"Homem que é Homem não usa Java!"

Link to comment
Share on other sites

a = "Ola"
b = "Mundo!!!"

c = 5.5567634626

print a,b+str(c)

Nao faças isso, o Python nao pode por strings e numeros na mesma frase assim, usa o %

a = "Ola"
b = "Mundo!!!"

c = 5.5567634626

print "%s %s %f" % (a,b,c)

name=raw_input("Nome: ")
age=input("Idade: ")
cidade=raw_input("Cidade: ")
altura = input("Altura: ")

print "O teu nome e %s, tens %d anos e vives em %s. A tua altura e %f" %(name,age,cidade,altura)
Link to comment
Share on other sites

Nao faças isso, o Python nao pode por strings e numeros na mesma frase assim, usa o %

O código não está a fazer isso. É para isso que serve o str(), para converter o número para string, e depois concatenar com as outras strings.

Já agora, o PEP 3101 define uma outra forma de formatar, usando string.format(), que só existe nas versões 2.6+

❝The idea that I can be presented with a problem, set out to logically solve it with the tools at hand, and wind up with a program that could not be legally used because someone else followed the same logical steps some years ago and filed for a patent on it is horrifying.❞- John Carmack on software patents

A list  of command line apps

Link to comment
Share on other sites

Ou então a forma mais simples e estúpida:

a = 1
b = 1.1
c = "1.2"
d = 1.3
e = 1.4
f = "1.8"
g = 2
h = 12
i = ["O", "Tharis", "eh", "naice"]
j = 011
k = 0xFF
l = "012"
m = n = o = p = q = r = s = t = u = v = w = x = y = " JA ESTOU FARTO DISTO !!!! "
z = "lol"
print a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z

1 1.1 1.2 1.3 1.4 1.8 2 12 ["O", "Tharis", "eh", "naice"] 9 255 012  JA ESTOU FARTO DISTO !!!!  JA ESTOU FARTO DISTO !!!!  JA ESTOU FARTO DISTO !!!!  JA ESTOU FARTO DISTO !!!!  JA ESTOU FARTO DISTO !!!!  JA ESTOU FARTO DISTO !!!!  JA ESTOU FARTO DISTO !!!!  JA ESTOU FARTO DISTO !!!!  JA ESTOU FARTO DISTO !!!!  JA ESTOU FARTO DISTO !!!!  JA ESTOU FARTO DISTO !!!!  JA ESTOU FARTO DISTO !!!!  JA ESTOU FARTO DISTO !!!!  lol

🙂

BTW, there's nothing Python can't do! 🙂

Still waiting for my tosta mista. 🙂

Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.