Jump to content

.upper() .lower()


UnKnowN
 Share

Recommended Posts

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 ...

Link to comment
Share on other 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

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
Share on other 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)  ?

Link to comment
Share on other 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.

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
Share on other 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...?

Link to comment
Share on other 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 😄

Link to comment
Share on other 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.
Link to comment
Share on other 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]
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.