chore(i18n,curriculum): processed translations (#44171)
This commit is contained in:
@ -8,22 +8,96 @@ dashedName: polygon-area-calculator
|
||||
|
||||
# --description--
|
||||
|
||||
Você [trabalhará neste projeto com nosso código inicial do Replit](https://replit.com/github/freeCodeCamp/boilerplate-polygon-area-calculator).
|
||||
|
||||
Ainda estamos desenvolvendo a parte instrucional interativa do currículo Python. Por enquanto, aqui estão alguns vídeos no canal do freeCodeCamp.org do YouTube que ensinarão tudo o que você precisa saber para completar este projeto:
|
||||
|
||||
- [Curso de Python em vídeo para todos](https://www.freecodecamp.org/news/python-for-everybody/) (14 horas)
|
||||
|
||||
- [Curso Aprenda Python em vídeo](https://www.freecodecamp.org/news/learn-python-video-course/) (10 horas)
|
||||
|
||||
# --instructions--
|
||||
|
||||
Neste projeto, você usará programação orientada a objetos para criar a classe Rectangle, para um retângulo, e a classe Square, para um quadrado. A classe Square deve ser uma subclasse da classe Rectangle e herdar métodos e atributos.
|
||||
|
||||
Você pode acessar [a descrição completa do projeto e o código inicial no Replit](https://replit.com/github/freeCodeCamp/boilerplate-polygon-area-calculator).
|
||||
## Classe do retângulo
|
||||
|
||||
Depois de ir para esse link, faça fork no projeto. Depois que você completar o projeto com baseado nas instruções do 'README.md', envie o link do seu projeto abaixo.
|
||||
Quando um objeto de retângulo é criado, ele deve ser inicializado com atributos `width` (largura) e `height` (altura). A classe também deve conter os seguintes métodos:
|
||||
|
||||
Ainda estamos desenvolvendo a parte instrucional interativa do currículo Python. Por enquanto, aqui estão alguns vídeos no canal freeCodeCamp.org do YouTube que ensinarão tudo o que você precisa saber para completar este projeto:
|
||||
- `set_width`
|
||||
- `set_height`
|
||||
- `get_area`: retorna a área (`width * height`)
|
||||
- `get_perimeter`: retorna o perímetro (`2 * width + 2 * height`)
|
||||
- `get_diagonal`: retorna a diagonal (`(width ** 2 + height ** 2) ** .5`)
|
||||
- `get_picture`: retorna uma string que representa a forma usando as linhas de "\*". O número de linhas deve ser igual à altura e o número de "\*" em cada linha deve ser igual à largura. Deve haver uma nova linha (`\n`) no final de cada linha. Se a largura ou altura for maior do que 50, é preciso retornar a string: "Too big for picture." (Muito grande para a imagem).
|
||||
- `get_amount_inside`: Pega outra forma (quadrado ou retângulo) como um argumento. Retorna o número de vezes que a forma passada como argumento poderia caber dentro da forma (sem rotações). Por exemplo, um retângulo com uma largura de 4 e uma altura de 8 poderia caber em dois quadrados com lados de 4.
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<a href='https://www.freecodecamp.org/news/python-for-everybody/'>Curso de Python em vídeo para todos</a> (14 horas)
|
||||
</li>
|
||||
<li>
|
||||
<a href='https://www.freecodecamp.org/news/learn-python-basics-in-depth-video-course/'>Curso em vídeo Aprenda Python</a> (2 horas)
|
||||
</li>
|
||||
</ul>
|
||||
Além disso, se uma instância de um retângulo for representada como uma string, ela deve ter a seguinte aparência: `Rectangle(width=5, height=10)`
|
||||
|
||||
## Classe do quadrado
|
||||
|
||||
A classe Square (Quadrado) deve ser uma subclasse de Rectangle (Retângulo). Quando um objeto Square é criado, um único comprimento lateral é passado. O método `__init__` deve armazenar o comprimento do lado nos atributos `width` e `height` da classe Rectangle.
|
||||
|
||||
A classe Square deve ser capaz de acessar os métodos da classe Rectangle, mas também deve conter um método `set_side`. Se uma instância de Square for representada como uma string, ela deve ter a seguinte aparência: `Square(side=9)`
|
||||
|
||||
Além disso, os métodos `set_width` e `set_height` na classe Square devem definir a largura e a altura.
|
||||
|
||||
## Exemplo de uso
|
||||
|
||||
```py
|
||||
rect = shape_calculator.Rectangle(10, 5)
|
||||
print(rect.get_area())
|
||||
rect.set_height(3)
|
||||
print(rect.get_perimeter())
|
||||
print(rect)
|
||||
print(rect.get_picture())
|
||||
|
||||
sq = shape_calculator.Square(9)
|
||||
print(sq.get_area())
|
||||
sq.set_side(4)
|
||||
print(sq.get_diagonal())
|
||||
print(sq)
|
||||
print(sq.get_picture())
|
||||
|
||||
rect.set_height(8)
|
||||
rect.set_width(16)
|
||||
print(rect.get_amount_inside(sq))
|
||||
```
|
||||
|
||||
Esse código deve retornar:
|
||||
|
||||
```bash
|
||||
50
|
||||
26
|
||||
Rectangle(width=10, height=3)
|
||||
**********
|
||||
**********
|
||||
**********
|
||||
|
||||
81
|
||||
5.656854249492381
|
||||
Square(side=4)
|
||||
****
|
||||
****
|
||||
****
|
||||
****
|
||||
|
||||
8
|
||||
```
|
||||
|
||||
Os testes unitários para este projeto estão em `test_module.py`.
|
||||
|
||||
## Desenvolvimento
|
||||
|
||||
Escreva seu código em `shape_calculator.py`. Para o desenvolvimento, você pode usar `main.py` para testar sua função `shape_calculator()`. Clique no botão "Run" e `main.py` será executado.
|
||||
|
||||
## Testes
|
||||
|
||||
Importamos os testes de `test_module.py` em `main.py` para a sua conveniência. Os testes serão executados automaticamente sempre que você clicar no botão "Run".
|
||||
|
||||
## Envio
|
||||
|
||||
Copie o URL do seu projeto e envie-o para o freeCodeCamp.
|
||||
|
||||
# --hints--
|
||||
|
||||
|
@ -8,20 +8,70 @@ dashedName: probability-calculator
|
||||
|
||||
# --description--
|
||||
|
||||
Escreva um programa para determinar a probabilidade aproximada de retirar certas bolas aleatoriamente de um chapéu.
|
||||
|
||||
Você pode acessar [a descrição completa do projeto e o código inicial no Replit](https://replit.com/github/freeCodeCamp/boilerplate-probability-calculator). Depois de ir para esse link, faça fork no projeto. Depois que você completar o projeto com base nas instruções do 'README.md', envie o link do seu projeto abaixo.
|
||||
Você [trabalhará neste projeto com nosso código inicial do Replit](https://replit.com/github/freeCodeCamp/boilerplate-probability-calculator).
|
||||
|
||||
Ainda estamos desenvolvendo a parte instrucional interativa do currículo Python. Por enquanto, aqui estão alguns vídeos no canal do freeCodeCamp.org do YouTube que ensinarão tudo o que você precisa saber para completar este projeto:
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<a href='https://www.freecodecamp.org/news/python-for-everybody/'>Curso de Python em vídeo para todos</a> (14 horas)
|
||||
</li>
|
||||
<li>
|
||||
<a href='https://www.freecodecamp.org/news/learn-python-basics-in-depth-video-course/'>Curso em vídeo Aprenda Python</a> (2 horas)
|
||||
</li>
|
||||
</ul>
|
||||
- [Curso de Python em vídeo para todos](https://www.freecodecamp.org/news/python-for-everybody/) (14 horas)
|
||||
|
||||
- [Curso Aprenda Python em vídeo](https://www.freecodecamp.org/news/learn-python-video-course/) (10 horas)
|
||||
|
||||
# --instructions--
|
||||
|
||||
Suponha que haja um chapéu contendo 5 bolas azuis, 4 bolas vermelhas e 2 bolas verdes. Qual é a probabilidade de um sorteio aleatório de 4 bolas conter pelo menos 1 bola vermelha e 2 bolas verdes? Embora seja possível calcular a probabilidade usando matemática avançada, uma maneira mais fácil é escrever um programa para realizar um grande número de experimentos para estimar uma probabilidade aproximada.
|
||||
|
||||
Para este projeto, escreva um programa para determinar a probabilidade aproximada de retirar certas bolas aleatoriamente de um chapéu.
|
||||
|
||||
Primeiro, crie uma classe `Hat` (Chapéu) em `prob_calculator.py`. A classe deve ter um número variável de argumentos que especificam o número de bolas de cada cor que estão no chapéu. Por exemplo, um objeto da classe poderia ser criado de qualquer uma dessas maneiras:
|
||||
|
||||
```py
|
||||
hat1 = Hat(yellow=3, blue=2, green=6)
|
||||
hat2 = Hat(red=5, orange=4)
|
||||
hat3 = Hat(red=5, orange=4, black=1, blue=0, pink=2, striped=9)
|
||||
```
|
||||
|
||||
Um chapéu será sempre criado com pelo menos uma bola. Os argumentos passados para o objeto de chapéu após a criação devem ser convertidos em uma variável de instância `contents`. `contents` deve ser uma lista de strings contendo um item para cada bola no chapéu. Cada item da lista deve ser um nome de cor que representa uma única bola dessa cor. Por exemplo, se sua instância de Hat for `{"red": 2, "blue": 1}`, `contents` deve ser `["red", "red", "blue"]`.
|
||||
|
||||
A classe `Hat` deve ter um método `draw` que aceita um argumento indicando o número de bolas a serem retiradas do chapéu. Este método deve remover bolas aleatoriamente de `contents` e retornar essas bolas como uma lista de strings. As bolas não devem voltar ao chapéu durante a retirada, à semelhança de uma experiência sem substituição. Se o número de bolas a serem retiradas exceder a quantidade disponível, retorne todas as bolas.
|
||||
|
||||
Em seguida, crie uma função`experiment`em `prob_calculator.py` (não dentro da classe `Hat`). Esta função deve aceitar os seguintes argumentos:
|
||||
|
||||
- `hat`: Um objeto de chapéu contendo bolas que devem ser copiadas dentro da função.
|
||||
- `expected_balls`: Um objeto indicando o grupo exato de bolas que se tentará retirar do chapéu para o experimento. Por exemplo, para determinar a probabilidade de retirar 2 bolas azuis e 1 bola vermelha do chapéu, defina `expected_balls` como `{"blue":2, "red":1}`.
|
||||
- `num_balls_drawn`: O número de bolas a serem retiradas do chapéu em cada experimento.
|
||||
- `num_experiments`: O número de experimentos a serem realizados. Quanto mais experimentos realizados, mais precisa será a probabilidade aproximada.
|
||||
|
||||
A função `experiment` deve retornar uma probabilidade.
|
||||
|
||||
Por exemplo, digamos que você quer determinar a probabilidade de obter pelo menos 2 bolas vermelhas e 1 bola verde ao retirar 5 bolas de um chapéu contendo 6 bolas pretas, 4 vermelhas, e 3 verdes. Para fazer isso, realizamos `N` experimentos, contamos quantas vezes `M` nós obtivemos pelo menos 2 bolas vermelhas e 1 bola verde, e estimamos a probabilidade como `M/N`. Cada experimento consiste em começar com um chapéu contendo as bolas especificadas, retirar várias bolas e verificar se retiramos as bolas que estávamos tentando retirar.
|
||||
|
||||
Veja como você chamaria a função `experiment` com base no exemplo acima de 2.000 experimentos:
|
||||
|
||||
```py
|
||||
hat = Hat(black=6, red=4, green=3)
|
||||
probability = experiment(hat=hat,
|
||||
expected_balls={"red":2,"green":1},
|
||||
num_balls_drawn=5,
|
||||
num_experiments=2000)
|
||||
```
|
||||
|
||||
Como isto é baseado em sorteios aleatórios, a probabilidade será ligeiramente diferente cada vez que o código for executado.
|
||||
|
||||
*Dica: Considere usar os módulos que já estão importados na parte superior de `prob_calculator.py`. Não inicialize uma seed aleatória dentro de `prob_calculator.py`.*
|
||||
|
||||
## Desenvolvimento
|
||||
|
||||
Escreva seu código em `prob_calculator.py`. Para o desenvolvimento, você pode usar `main.py` para testar seu código. Clique no botão "Run" e `main.py` será executado.
|
||||
|
||||
O boilerplate inclui declarações de `import` para os módulos `copy` e `random`. Considere usá-los no seu projeto.
|
||||
|
||||
## Testes
|
||||
|
||||
Os testes unitários para este projeto estão em `test_module.py`. Importamos os testes de `test_module.py` em `main.py` para a sua conveniência. Os testes serão executados automaticamente sempre que você clicar no botão "Run".
|
||||
|
||||
## Envio
|
||||
|
||||
Copie o URL do seu projeto e envie-o para o freeCodeCamp.
|
||||
|
||||
# --hints--
|
||||
|
||||
|
@ -8,20 +8,63 @@ dashedName: time-calculator
|
||||
|
||||
# --description--
|
||||
|
||||
Escreva uma função chamada "add_time", que pode adicionar um tempo de início e retornar o resultado.
|
||||
|
||||
Você pode acessar [a descrição completa do projeto e o código inicial no Replit](https://replit.com/github/freeCodeCamp/boilerplate-time-calculator). Depois de ir para esse link, faça fork no projeto. Depois que você completar o projeto com base nas instruções do 'README.md', envie o link do seu projeto abaixo.
|
||||
Você [trabalhará neste projeto com nosso código inicial do Replit](https://replit.com/github/freeCodeCamp/boilerplate-time-calculator).
|
||||
|
||||
Ainda estamos desenvolvendo a parte instrucional interativa do currículo Python. Por enquanto, aqui estão alguns vídeos no canal do freeCodeCamp.org do YouTube que ensinarão tudo o que você precisa saber para completar este projeto:
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<a href='https://www.freecodecamp.org/news/python-for-everybody/'>Curso de Python em vídeo para todos</a> (14 horas)
|
||||
</li>
|
||||
<li>
|
||||
<a href='https://www.freecodecamp.org/news/learn-python-basics-in-depth-video-course/'>Curso em vídeo Aprenda Python</a> (2 horas)
|
||||
</li>
|
||||
</ul>
|
||||
- [Curso de Python em vídeo para todos](https://www.freecodecamp.org/news/python-for-everybody/) (14 horas)
|
||||
|
||||
- [Curso Aprenda Python em vídeo](https://www.freecodecamp.org/news/learn-python-video-course/) (10 horas)
|
||||
|
||||
# --instructions--
|
||||
|
||||
Escreva uma função chamada `add_time`, que recebe dois parâmetros necessários e um parâmetro opcional:
|
||||
|
||||
- uma hora de início no formato de relógio de 12 horas (terminando em AM ou PM)
|
||||
- um tempo de duração que indica o número de horas e minutos
|
||||
- (opcional) um dia de início na semana, sem distinção de maiúsculas ou minúsculas
|
||||
|
||||
A função deve adicionar o tempo de duração ao horário inicial e retornar o resultado.
|
||||
|
||||
Se o resultado for no dia seguinte, ele deve mostrar `(next day)` (dia seguinte) após o tempo. Se o resultado for mais de um dia depois, ele deve mostrar `(n days later)` (n dias depois) após o tempo, onde "n" é o número de dias depois.
|
||||
|
||||
Se a função receber o parâmetro opcional do dia de início na semana, então o resultado deve exibir o dia da semana do resultado. O dia da semana no resultado deve aparecer após o tempo e antes do número de dias depois.
|
||||
|
||||
Abaixo vemos alguns exemplos dos diferentes casos que a função deve tratar. Preste muita atenção ao espaçamento e à pontuação dos resultados.
|
||||
|
||||
```py
|
||||
add_time("3:00 PM", "3:10")
|
||||
# Returns: 6:10 PM
|
||||
|
||||
add_time("11:30 AM", "2:32", "Monday")
|
||||
# Returns: 2:02 PM, Monday
|
||||
|
||||
add_time("11:43 AM", "00:20")
|
||||
# Returns: 12:03 PM
|
||||
|
||||
add_time("10:10 PM", "3:30")
|
||||
# Returns: 1:40 AM (next day)
|
||||
|
||||
add_time("11:43 PM", "24:20", "tueSday")
|
||||
# Returns: 12:03 AM, Thursday (2 days later)
|
||||
|
||||
add_time("6:30 PM", "205:12")
|
||||
# Returns: 7:42 AM (9 days later)
|
||||
```
|
||||
|
||||
Não importe nenhuma biblioteca do Python. Suponha que os horários de início são tempos válidos. Os minutos no tempo de duração serão um número inteiro menor que 60, mas a hora pode ser qualquer número inteiro.
|
||||
|
||||
## Desenvolvimento
|
||||
|
||||
Escreva seu código em `time_calculator.py`. Para o desenvolvimento, você pode usar `main.py` para testar sua função `time_calculator()`. Clique no botão "Run" e `main.py` será executado.
|
||||
|
||||
## Testes
|
||||
|
||||
Os testes unitários para este projeto estão em `test_module.py`. Importamos os testes de `test_module.py` em `main.py` para a sua conveniência. Os testes serão executados automaticamente sempre que você clicar no botão "Run".
|
||||
|
||||
## Envio
|
||||
|
||||
Copie o URL do seu projeto e envie-o para o freeCodeCamp.
|
||||
|
||||
# --hints--
|
||||
|
||||
|
Reference in New Issue
Block a user