Legibilidade
Implemente um programa que calcule o nível de grau aproximado necessário para compreender um determinado texto, conforme abaixo.
$ python readability.py
Text: Congratulations! Today is your day. You're off to Great Places! You're off and away!
Grade 3
Como começar
Faça login em code.cs50.io, clique na janela do seu terminal e execute cd
. Você deverá encontrar o prompt da sua janela do terminal como abaixo:
$
Em seguida, execute:
wget https://cdn.cs50.net/2022/fall/psets/6/sentimental-readability.zip
para baixar um ZIP denominado sentimental-readability.zip
no seu espaço de códigos.
Em seguida, execute:
unzip sentimental-readability.zip
para criar uma pasta chamada 'sentimental-readability'. Você não precisa mais do arquivo ZIP, então execute:
rm sentimental-readability.zip
e responda com "y" seguido de Enter para remover o arquivo ZIP que você baixou.
Agora digite:
cd sentimental-readability
seguido de Enter para mover-se para (ou seja, abrir) esse diretório. Seu prompt deve ser como abaixo:
sentimental-readability/ $
Execute ls
por si só e você deve ver readability.py
. Se você tiver algum problema, siga essas mesmas etapas novamente e veja se consegue determinar onde errou!
Especificação
-
Escreva, em um arquivo chamado
readability.py
, um programa que primeiro solicita ao usuário que digite algum texto e, em seguida, apresente o nível de leitura do texto de acordo com a fórmula Coleman-Liau, exatamente como fez no [Problem Set 2](../../ 2 /), exceto que desta vez o programa deve ser escrito em Python.- Lembre-se de que o índice Coleman-Liau é calculado como
0.0588 * L - 0.296 * S - 15.8
, ondeL
é o número médio de letras por 100 palavras no texto eS
é o número médio de frases por 100 palavras no texto.
- Lembre-se de que o índice Coleman-Liau é calculado como
- Use o
get_string
da biblioteca CS50 para obter a entrada do usuário eprint
para exibir a resposta. - Seu programa deve contar o número de letras, palavras e frases no texto. Você pode supor que uma letra é qualquer caractere minúsculo de
a
az
ou qualquer caractere maiúsculo deA
aZ
, qualquer sequência de caracteres separados por espaços deve contar como uma palavra e que qualquer ocorrência de um ponto, ponto de exclamação ou ponto de interrogação indica o final de uma frase. - Seu programa deve imprimir como saída
"Grade X"
ondeX
é o nível de leitura calculado pela fórmula Coleman-Liau, arredondado para o inteiro mais próximo. - Se o índice resultante for 16 ou superior (equivalente ou superior a um nível de leitura de graduação sênior), seu programa deve apresentar a mensagem
"Grade 16+"
em vez de fornecer o índice exato. Se o índice for inferior a 1, seu programa deve apresentar a mensagem"Before Grade 1"
.
Uso
Seu programa deve se comportar como o exemplo abaixo.
$ python readability.py
Text: Parabéns! Hoje é o seu dia. Você está a caminho de lugares incríveis! Está indo embora!
Grade 3
Testando
Embora o check50
esteja disponível para este problema, é incentivado que você primeiro teste seu código por conta própria para cada um dos seguintes casos.
- Execute seu programa como
python readability.py
, e aguarde a solicitação de entrada. DigiteOne fish. Two fish. Red fish. Blue fish.
e pressione enter. Seu programa deve apresentar a saídaBefore Grade 1
. - Execute seu programa como
python readability.py
, e aguarde a solicitação de entrada. DigiteWould you like them here or there? I would not like them here or there. I would not like them anywhere.
e pressione enter. Seu programa deve apresentar a saídaGrade 2
. - Execute seu programa como
python readability.py
, e aguarde a solicitação de entrada. DigiteCongratulations! Today is your day. You're off to Great Places! You're off and away!
e pressione enter. Seu programa deve apresentar a saídaGrade 3
. - Execute seu programa como
python readability.py
, e aguarde a solicitação de entrada. DigiteHarry Potter was a highly unusual boy in many ways. For one thing, he hated the summer holidays more than any other time of year. For another, he really wanted to do his homework, but was forced to do it in secret, in the dead of the night. And he also happened to be a wizard.
e pressione enter. Seu programa deve apresentar a saídaGrade 5
. - Execute seu programa como
python readability.py
, e aguarde a solicitação de entrada. DigiteIn my younger and more vulnerable years my father gave me some advice that I've been turning over in my mind ever since.
e pressione enter. Seu programa deve apresentar a saídaGrade 7
. - Execute seu programa como
python readability.py
, e aguarde a solicitação de entrada. DigiteAlice was beginning to get very tired of sitting by her sister on the bank, and of having nothing to do: once or twice she had peeped into the book her sister was reading, but it had no pictures or conversations in it, "and what is the use of a book," thought Alice "without pictures or conversation?"
e pressione enter. Seu programa deve apresentar a saídaGrade 8
. - Execute seu programa como
python readability.py
, e aguarde a solicitação de entrada. DigiteWhen he was nearly thirteen, my brother Jem got his arm badly broken at the elbow. When it healed, and Jem's fears of never being able to play football were assuaged, he was seldom self-conscious about his injury. His left arm was somewhat shorter than his right; when he stood or walked, the back of his hand was at right angles to his body, his thumb parallel to his thigh.
e pressione enter. Seu programa deve apresentar a saídaGrade 8
. - Execute seu programa como
python readability.py
, e aguarde a solicitação de entrada. DigiteThere are more things in Heaven and Earth, Horatio, than are dreamt of in your philosophy.
e pressione enter. Seu programa deve apresentar a saídaGrade 9
. - Execute seu programa como
python readability.py
, e aguarde a solicitação de entrada. DigiteIt was a bright cold day in April, and the clocks were striking thirteen. Winston Smith, his chin nuzzled into his breast in an effort to escape the vile wind, slipped quickly through the glass doors of Victory Mansions, though not quickly enough to prevent a swirl of gritty dust from entering along with him.
e pressione enter. Seu programa deve apresentar a saídaGrade 10
. - Execute seu programa como
python readability.py
, e aguarde a solicitação de entrada. DigiteA large class of computational problems involve the determination of properties of graphs, digraphs, integers, arrays of integers, finite families of finite sets, boolean formulas and elements of other countable domains.
e pressione enter. Seu programa deve apresentar a saídaGrade 16+
.
Execute o comando abaixo para avaliar a correção do seu código usando check50
. Certifique-se de compilar e testar você mesmo também!
check50 cs50/problems/2023/x/sentimental/readability
Execute o comando abaixo para avaliar o estilo do seu código usando style50
.
style50 readability.py
"
Como enviar
No seu terminal, execute o comando abaixo para enviar o seu trabalho.
submit50 cs50/problems/2023/x/sentimental/readability