Ajuda 1.3. Capturar última letra

11 views
Skip to first unread message

José Casadei

unread,
Mar 3, 2014, 2:42:10 PM3/3/14
to programaded...@googlegroups.com
Caros,

Estou patinando em algo que parece simples: como capturar na resposta a última letra de s="algumacoisa "
Neste exemplo de "s" que estou usando, o código não captura a letra "p" para o resultado.


s = "abxcxdefgop"     #exemplo qualquer
substring = ""
ans = ""

#letra posterior é maior que letra anterior no alfabeto
#código compara posição da letra (a=0, b=1 logo a<b pois 0<1)

for i in range(len(s)-1):
    if s[i]<s[i+1]:
        substring+=s[i]
        if len(substring)>len(ans):
            ans=substring
    else:
        substring=""
        
print 'Longest substring in alphabetical order is: '+ str(ans)

pelo que entendi (acho), os colchetes devem ser usados para letras. É isso?
pelo que entendi, preciso deixar minhas variáveis na seguinte forma (variável = "") e não igual a zero (poruqe a resposta não será número. É isso?

Já estou cansado demais e não consigo ver o que talvez seja óbvio ...
Se alguém puder ajudar ....

Abs
José

Marco Túlio Pires

unread,
Mar 3, 2014, 3:24:28 PM3/3/14
to José Casadei, programadedados2014_01
José,

Lembra que existe um índice para capturar a última letra de qualquer string? Mesmo quando não sabemos o tamanho dela?

Dica: é um índice negativo!

abs




--
Você está recebendo esta mensagem porque se inscreveu no grupo "Aprendendo a Programar com o MIT e a Escola de Dados" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para programadedados20...@googlegroups.com.
Para postar neste grupo, envie um e-mail para programaded...@googlegroups.com.
Visite este grupo em http://groups.google.com/group/programadedados2014_01.
Para ver esta discussão na web, acesse https://groups.google.com/d/msgid/programadedados2014_01/a8fee96c-eb08-4536-b824-5030a194ec3e%40googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.



--
Marco Túlio Pires :: journohacker :: @mtrpires

José Casadei

unread,
Mar 3, 2014, 3:49:07 PM3/3/14
to programaded...@googlegroups.com, José Casadei
Eu já tentei:
for i in range(len(s)-1):
for i in range(0:-1):
for i in range(star:end):

Nada ...

Abs
José 

Marco Túlio Pires

unread,
Mar 3, 2014, 3:53:06 PM3/3/14
to José Casadei, programadedados2014_01
José, 

Nesse caso, o mais indicado é usar a indexação... 

No seu exemplo, s[0] voltaria "a". Qual caractere seria retornado se você substituir o zero por -1?

abs




--
Você está recebendo esta mensagem porque se inscreveu no grupo "Aprendendo a Programar com o MIT e a Escola de Dados" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para programadedados20...@googlegroups.com.
Para postar neste grupo, envie um e-mail para programaded...@googlegroups.com.
Visite este grupo em http://groups.google.com/group/programadedados2014_01.

Para obter mais opções, acesse https://groups.google.com/groups/opt_out.

José Casadei

unread,
Mar 3, 2014, 4:05:17 PM3/3/14
to programaded...@googlegroups.com, José Casadei
Eu sei. Eu já usei (0:-1). Não deu certo ...

Bom, deixa pra lá ... já não enxergo mais nada ... cansado demais ...
Abs
José

Marco Túlio Pires

unread,
Mar 3, 2014, 4:08:47 PM3/3/14
to José Casadei, programadedados2014_01
José, algo que pode ajudar: digita "b" > "a" no terminal.

Não tenho a resposta pra esse problema ainda, estou terminando aqui. Mas o teste acima pode te dar uma luz.

abs


--
Você está recebendo esta mensagem porque se inscreveu no grupo "Aprendendo a Programar com o MIT e a Escola de Dados" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para programadedados20...@googlegroups.com.
Para postar neste grupo, envie um e-mail para programaded...@googlegroups.com.
Visite este grupo em http://groups.google.com/group/programadedados2014_01.

Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
Reply all
Reply to author
Forward
0 new messages