Logo Passei Direto
Buscar
Strings são sequências de caracteres delimitadas por aspas duplas ou simples. Há uma série de métodos para a manipulação de strings, como também a funcionalidade de fatiamento, que consiste em gerar uma nova string ao selecionar partes da string original. Considere uma string s já inicializada com várias letras e as seguintes linhas de código: for (i,c) in enumerate(s[::-3]): c = s[i].upper() print(s) Considere, também, que a impressão demonstra que a string não sofreu alteração alguma mesmo após a execução do código. Assinale a alternativa que explica corretamente o motivo da não alteração da string: Selecione a resposta: a A string s não sofreu alteração porque a variável c armazena, a cada vez, apenas uma cópia de um caractere de s. Para corrigir o problema, basta alterar a segunda linha para s[i] = c.upper(). b A string s não sofreu alteração porque todos os seus caracteres já eram letras maiúsculas e, por isso, o método upper não surtiu efeito. c A string s não sofreu alteração porque tinha menos de três caracteres. Por isso, o fatiamento gerou uma string nula. d A string s não sofreu alteração
User badge image
Izabel Aragao

há 6 dias

Respostas

User badge image

Ed Verified user icon

há 6 dias

Vamos analisar as alternativas uma a uma para entender por que a string `s` não sofreu alteração após a execução do código. a) A string s não sofreu alteração porque a variável c armazena, a cada vez, apenas uma cópia de um caractere de s. Para corrigir o problema, basta alterar a segunda linha para s[i] = c.upper(). - Esta opção está incorreta porque strings em Python são imutáveis. Não é possível alterar um caractere de uma string diretamente dessa forma. b) A string s não sofreu alteração porque todos os seus caracteres já eram letras maiúsculas e, por isso, o método upper não surtiu efeito. - Esta opção pode ser verdadeira, mas não é a única explicação. O código não altera a string independentemente do estado dos caracteres. c) A string s não sofreu alteração porque tinha menos de três caracteres. Por isso, o fatiamento gerou uma string nula. - Esta opção é incorreta, pois o fatiamento `s[::-3]` não necessariamente gera uma string nula, mesmo que `s` tenha menos de três caracteres. d) A string s não sofreu alteração. - Esta opção é verdadeira, mas não explica o porquê. O motivo é que a variável `c` apenas armazena uma cópia do caractere e não altera a string original. A alternativa que melhor explica a situação, considerando que a string não foi alterada e que a variável `c` não modifica `s`, é a) A string s não sofreu alteração porque a variável c armazena, a cada vez, apenas uma cópia de um caractere de s. Para corrigir o problema, basta alterar a segunda linha para s[i] = c.upper(). Portanto, a resposta correta é a).

Essa resposta te ajudou?

0
Dislike0

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Mais conteúdos dessa disciplina