• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

UnKnowN

.upper() .lower()

8 mensagens neste tópico

ppl estou com a seguinte dúvida, posso escolher a posição que corresponde à respectiva letra com os methods .upper() e .lower() ?

ou seja:

>>> 'manuel'.upper(0)
>>> 'Manuel'

É possível fazer isto ? Desta forma já vi que não... mas doutra forma qq ...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim é.

O teu erro está no local onde aplicaste a selecção de caracteres:

x = 'manuel'

y = x[0:1].upper() + x[1:]

print y

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim é.

O teu erro está no local onde aplicaste a selecção de caracteres:

x = 'manuel'

y = x[0:1].upper() + x[1:]

print y

Pois, tbm tinha pensado numa forma de fazer sem ser assim, mas que fosse dar ao mesmo B)

O que queria saber é se nao dá para usar só no method .upper() (ou .lower()) as posiçoes ocupadas pelas respectivas letras :P

Deve haver não, senão para quê os "()" ?

De qq das formas Obrigado pela ajuda M6, fiquei esclarecido usando esse "método pouco ortodoxo" (ou talvez o único mais simples possível)  :hmm:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não. Os parêntesis referem a invocação de um método, não tem obrigatoriamente de receber parâmetros e muito menos os parâmetros que tu queres... B)

Se leres a documentação vais ver isso.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Oi poessoal,

Não deveria ser possível fazer algo deste género:

s = "manuel"
s[0]=s[0].upper()

Fazendo:

>>> s = 'manuel'
>>> s
'manuel'
>>> s = s.upper()
>>> s
'MANUEL'
>>>

funciona, mas o primeiro código dá erro...

>>> s[0]=s[0].upper()
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
TypeError: object does not support item assignment
>>>

O que se passa com isto? Estou a dizer algum disparate...?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não. Os parêntesis referem a invocação de um método, não tem obrigatoriamente de receber parâmetros e muito menos os parâmetros que tu queres... B)

Se leres a documentação vais ver isso.

Ya got it :P

Oi poessoal,

Não deveria ser possível fazer algo deste género:

s = "manuel"
s[0]=s[0].upper()

Fazendo:

>>> s = 'manuel'
>>> s
'manuel'
>>> s = s.upper()
>>> s
'MANUEL'
>>>

funciona, mas o primeiro código dá erro...

>>> s[0]=s[0].upper()
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
TypeError: object does not support item assignment
>>>

O que se passa com isto? Estou a dizer algum disparate...?

O que se passa é que estas a dizer que uma coisa é o que não é lol, em Python isso nao pode acontecer... para isso acontecer tens de dar o "valor" s[0] a outra varavel sem que seja ela propria. Por exemplo:

>>> s = 'manuel'

>>> x = s[0].upper()

>>> x

'M'

Fiquem Bem, estou super esclarecido :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Esquece... Eu estava a ser estupido por instantes.  :-[

As strings são imutáveis logo não as podemos mudar depois de criadas (não tem a ver com o que disseste UnknowN). Daí ser necessário fazer como o M6 disse.

s = 'manuel'    #Aqui inicializei o s com a string manuel
s = s.upper()  #Aqui inicializei o s com uma string diferente. O resultado de s.upper()

s[0]=s[0].upper()   #Aqui estou a tentar mudar a string. Como é imutável, dá erro.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Esquece... Eu estava a ser estupido por instantes.  :-[

As strings são imutáveis logo não as podemos mudar depois de criadas (não tem a ver com o que disseste UnknowN). Daí ser necessário fazer como o M6 disse.

s = 'manuel'    #Aqui inicializei o s com a string manuel
s = s.upper()  #Aqui inicializei o s com uma string diferente. O resultado de s.upper()

s[0]=s[0].upper()   #Aqui estou a tentar mudar a string. Como é imutável, dá erro.

Ya é isso, no caso das strings o seu valor nao pode ser modificado, ao contrario do que acontece nas listas por exemplo B)

>>> x = [3,2,3]
>>> x[0] = 1
>>> x
[1, 2, 3]

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora