Dentre as seguintes funções, a que serve para converter um c...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Resposta Correta: C - ord(x)
Para compreender a resposta correta, é importante conhecer o papel das funções em Python que lidam com caracteres e suas representações numéricas. A função ord() é utilizada para obter o valor inteiro que representa um determinado caractere na tabela de codificação, como por exemplo a tabela ASCII ou Unicode. Ao passar um caractere como argumento para essa função, ela retornará o valor inteiro correspondente.
É relevante mencionar que a função chr(), que aparece como alternativa E, faz o processo inverso, convertendo um valor inteiro para o caractere correspondente. Já as funções unichr(x), hex(x) e oct(x) têm propósitos diferentes: unichr(x) é usada para obter o caractere correspondente a um valor inteiro em Unicode (em versões anteriores do Python 3, pois no Python 3 o chr() já suporta Unicode), hex(x) converte um número inteiro em uma string contendo a sua representação hexadecimal, e oct(x) converte um número inteiro em uma string contendo a sua representação octal.
Portanto, ao se deparar com a necessidade de converter um caractere único para seu respectivo valor inteiro, a função ord(x) é a escolha correta, o que justifica a alternativa C como a resposta adequada para a questão.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
a) [ ERRADO ] unichr ( i ) - Return the Unicode string of one character whose Unicode code is the integer i. For example, unichr ( 97 ) returns the string 'a'.
b) [ ERRADO ] hex ( x ) - Convert an integer number to a lowercase hexadecimal string prefixed with “0x”.
c) [ GABARITO ] ord ( c ) - Given a string representing one Unicode character, return an integer representing the Unicode code point of that character. For example, ord ( 'a' ) returns the integer 97 and ord ( '€' ) (Euro sign) returns 8364. This is the inverse of chr ( ).
d) [ ERRADO ] oct ( x ) Convert an integer number to an octal string prefixed with “0o”.
e) [ ERRADO ] chr ( i ) - Return the string representing a character whose Unicode code point is the integer i. For example, chr ( 97 ) returns the string 'a'.
https://docs.python.org/2/library/functions.html
https://docs.python.org/3/library/functions.html
Já que é tão difícil pesquisar e jogar no tradutor do google, tive que fazer esse sacríficio..
a) [ERRADO] unichr (i) - Retorna a string Unicode de um caractere cujo código Unicode é o inteiro i. Por exemplo, unichr (97) retorna a string 'a'.
b) [ERRADO] hex (x) - Converte um número inteiro em uma cadeia hexadecimal minúscula prefixada com “0x”.
c) [GABARITO] ord (c) - Dada uma string representando um caractere Unicode, retorna um inteiro representando o ponto de código Unicode daquele caractere. Por exemplo, ord ('a') retorna o inteiro 97 e ord ('€') (sinal de Euro) retorna 8364. Esse é o inverso de chr ().
d) [ERRADO] oct (x) Converte um número inteiro em uma string octal prefixada com “0o”.
e) [ERRADO] chr (i) - Retorna a string representando um caractere cujo ponto de código Unicode é o inteiro i. Por exemplo, chr (97) retorna a string 'a'.
Comentário em inglês é igual olho azul em gente feia... não resolve nada!!
Mateus sua explanação foi perfeita.
A função ord() devolve o código numérico do caractere passado como parâmetro. Veja os exemplos a seguir:
In [1]:
print(ord("8"))
print(ord("?"))
print(ord("A"))
print(ord("C"))
print(ord("^"))
print(ord("a"))
56
63
65
67
94
97
A função ord() gerará um erro se passarmos como parâmetro uma string contendo mais de um caracter:
In [2]:
ord("olá!")
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-2-2e7b9727d71f> in <module>()
----> 1 ord("olá!")TypeError: ord() expected a character, but string of length 4 found
https://www.ime.usp.br/~kellyrb/mac2166_2014/arquivos/aulas/mac2166_aula12.html
Assertiva C
converter um caractere único no seu respectivo valor inteiro ord (x)
ord ('a')
98
chr(98)
'a'
chr(ord('a') + 3)
'd'
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo