mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2026-04-30 16:01:14 -04:00
chore(i18n,learn): processed translations (#49795)
This commit is contained in:
@@ -11,7 +11,13 @@ dashedName: word-blanks
|
||||
|
||||
تم تزويدك بجمل ناقصة بعض الكلمات، مثل الأسماء و الأفعال و النعوت و الظروف. ثم أملأ القطع المفقودة بكلمات من اختيارك بطريقة تجعل الجملة المكتملة منطقية.
|
||||
|
||||
فكر في هذه الجملة - كانت حقاً **\_\_\_\_\_**، ونحن **\_\_\_\_** أيضا **\_\_\_\_\_**. هذه الجملة لها ثلاث قطع مفقودة - نعمة و فعل و ظرف، ويمكنك إضافة كلمات من اختيارك لإكمالها. ويمكن بعد ذلك أن نحيل الجملة المستكملة إلى متغير (variable) على النحو التالي:
|
||||
Consider this sentence:
|
||||
|
||||
```md
|
||||
It was really ____, and we ____ ourselves ____.
|
||||
```
|
||||
|
||||
This sentence has three missing pieces- an adjective, a verb and an adverb, and we can add words of our choice to complete it. We can then assign the completed sentence to a variable as follows:
|
||||
|
||||
```js
|
||||
const sentence = "It was really " + "hot" + ", and we " + "laughed" + " ourselves " + "silly" + ".";
|
||||
@@ -19,21 +25,21 @@ const sentence = "It was really " + "hot" + ", and we " + "laughed" + " ourselve
|
||||
|
||||
# --instructions--
|
||||
|
||||
في هذا التحدي، نقدم لكم اسماً وفعلاً ووصفاً وظرفاً. تحتاج إلى تشكيل جملة كاملة باستخدام كلمات من اختيارك، إلى جانب الكلمات التي نقدمها.
|
||||
In this challenge, we provide you with a noun, a verb, an adjective and an adverb. You need to form a complete sentence using words of your choice, along with the words we provide.
|
||||
|
||||
سوف تحتاج إلى استخدام مشغل ضم المقاطع (string concatenation operator) `+` لبناء مقطع نصي جديد، باستخدام المتغيرات المتاحة: `myNoun`، و `myAdjective`، و `myVerb`، و `myAdverb`. بعد ذلك عيين المقطع النصي الذي تم تشكيله إلى متغير `wordBlanks`. لا يجب عليك تغيير الكلمات المسندة إلى متغيرات.
|
||||
You will need to use the string concatenation operator `+` to build a new string, using the provided variables: `myNoun`, `myAdjective`, `myVerb`, and `myAdverb`. You will then assign the formed string to the `wordBlanks` variable. You should not change the words assigned to the variables.
|
||||
|
||||
سوف تحتاج أيضا إلى حساب المسافات الموجودة في مقطعك، بحيث أن تحتوي الجملة الأخيرة على مسافات بين جميع الكلمات. ينبغي أن تكون النتيجة جملة كاملة.
|
||||
You will also need to account for spaces in your string, so that the final sentence has spaces between all the words. The result should be a complete sentence.
|
||||
|
||||
# --hints--
|
||||
|
||||
يجب أن تكون `wordBlanks` مقطع نصي.
|
||||
`wordBlanks` should be a string.
|
||||
|
||||
```js
|
||||
assert(typeof wordBlanks === 'string');
|
||||
```
|
||||
|
||||
لا يجب عليك تغيير القيم المعينة إلى `myNoun` أو `myVerb`, أو `myAdjective`, أو `myAdverb`.
|
||||
You should not change the values assigned to `myNoun`, `myVerb`, `myAdjective` or `myAdverb`.
|
||||
|
||||
```js
|
||||
assert(
|
||||
@@ -44,7 +50,7 @@ assert(
|
||||
);
|
||||
```
|
||||
|
||||
يجب ألا تستخدم القيم `dog` أو `ran`, أو `big`, أو `quickly` مباشرةً لإنشاء `wordBlanks`.
|
||||
You should not directly use the values `dog`, `ran`, `big`, or `quickly` to create `wordBlanks`.
|
||||
|
||||
```js
|
||||
const newCode = removeAssignments(code);
|
||||
@@ -56,7 +62,7 @@ assert(
|
||||
);
|
||||
```
|
||||
|
||||
يجب أن يحتوي `wordBlanks` على جميع الكلمات المخصصة للمتغيرات `myNoun`, و `myVerb`, و `myAdjective`, و `myAdverb` المفصولة برموز ليست بكلمات (مع أي كلمات إضافية من اختيارك).
|
||||
`wordBlanks` should contain all of the words assigned to the variables `myNoun`, `myVerb`, `myAdjective` and `myAdverb` separated by non-word characters (and any additional words of your choice).
|
||||
|
||||
```js
|
||||
assert(
|
||||
|
||||
@@ -11,7 +11,13 @@ dashedName: word-blanks
|
||||
|
||||
給你一些不完整的句子,這些句子會缺少一些例如名詞、動詞、形容詞或者副詞之類的字詞。 然後你需要使用你選擇的詞語去填補這些缺失的地方,使得這個句子變得完整且有意義。
|
||||
|
||||
思考一下這個句子:它真的非常**\_\_\_\_**,我們**\_\_\_\_**我們自己**\_\_\_\_**。 這個句子有三處缺失:一個形容詞、一個動詞和一個副詞。我們可以將選擇的詞語加進去完成它。 然後我們可以將完成的句子賦給一個變量,如下所示:
|
||||
Consider this sentence:
|
||||
|
||||
```md
|
||||
It was really ____, and we ____ ourselves ____.
|
||||
```
|
||||
|
||||
This sentence has three missing pieces- an adjective, a verb and an adverb, and we can add words of our choice to complete it. We can then assign the completed sentence to a variable as follows:
|
||||
|
||||
```js
|
||||
const sentence = "It was really " + "hot" + ", and we " + "laughed" + " ourselves " + "silly" + ".";
|
||||
@@ -19,21 +25,21 @@ const sentence = "It was really " + "hot" + ", and we " + "laughed" + " ourselve
|
||||
|
||||
# --instructions--
|
||||
|
||||
在這個挑戰中,我們會提供給你一個名詞、一個動詞、一個形容詞和一個副詞。 你需要在我們提供的詞語中,選擇你要使用的詞語來使這個句子變得完整。
|
||||
In this challenge, we provide you with a noun, a verb, an adjective and an adverb. You need to form a complete sentence using words of your choice, along with the words we provide.
|
||||
|
||||
你需要使用字符串連接操作符 `+` 和提供的變量 `myNoun`、`myAdjective`、`myVerb` 和 `myAdverb` 來構建一個新的字符串。 然後,將這個改好的新字符串賦值給 `wordBlanks` 變量。 不要去更改已經賦值給這些變量的單詞。
|
||||
You will need to use the string concatenation operator `+` to build a new string, using the provided variables: `myNoun`, `myAdjective`, `myVerb`, and `myAdverb`. You will then assign the formed string to the `wordBlanks` variable. You should not change the words assigned to the variables.
|
||||
|
||||
你還需要確認字符串裏的空格,以確保最後的句子裏的每個單詞之間都有空格。 最後的結果應該是一個完整的句子。
|
||||
You will also need to account for spaces in your string, so that the final sentence has spaces between all the words. The result should be a complete sentence.
|
||||
|
||||
# --hints--
|
||||
|
||||
`wordBlanks` 應該是一個字符串.
|
||||
`wordBlanks` should be a string.
|
||||
|
||||
```js
|
||||
assert(typeof wordBlanks === 'string');
|
||||
```
|
||||
|
||||
不要改變賦值給 `myNoun`, `myVerb`、`myAdjective` 或者`myAdverb` 這些變量的值。
|
||||
You should not change the values assigned to `myNoun`, `myVerb`, `myAdjective` or `myAdverb`.
|
||||
|
||||
```js
|
||||
assert(
|
||||
@@ -44,7 +50,7 @@ assert(
|
||||
);
|
||||
```
|
||||
|
||||
不要直接使用 `dog`、`ran`、`big` 或者 `quickly` 的值去創建 `wordBlanks`。
|
||||
You should not directly use the values `dog`, `ran`, `big`, or `quickly` to create `wordBlanks`.
|
||||
|
||||
```js
|
||||
const newCode = removeAssignments(code);
|
||||
@@ -56,7 +62,7 @@ assert(
|
||||
);
|
||||
```
|
||||
|
||||
`wordBlanks` 應該包含分配給變量 `myNoun`、`myVerb`、`myAdjective` 和 `myAdverb` 的所有單詞,用非單詞字符(和你選擇的任何其他單詞)分隔。
|
||||
`wordBlanks` should contain all of the words assigned to the variables `myNoun`, `myVerb`, `myAdjective` and `myAdverb` separated by non-word characters (and any additional words of your choice).
|
||||
|
||||
```js
|
||||
assert(
|
||||
|
||||
@@ -11,7 +11,13 @@ dashedName: word-blanks
|
||||
|
||||
给你一些不完整的句子,这些句子会缺少一些例如名词、动词、形容词或者副词之类的字词。 然后你需要使用你选择的词语去填补这些缺失的地方,使得这个句子变得完整且有意义。
|
||||
|
||||
思考一下这个句子:它真的非常**\_\_\_\_**,我们**\_\_\_\_**我们自己**\_\_\_\_**。 这个句子有三处缺失:一个形容词、一个动词和一个副词。我们可以将选择的词语加进去完成它。 然后我们可以将完成的句子赋给一个变量,如下所示:
|
||||
Consider this sentence:
|
||||
|
||||
```md
|
||||
It was really ____, and we ____ ourselves ____.
|
||||
```
|
||||
|
||||
This sentence has three missing pieces- an adjective, a verb and an adverb, and we can add words of our choice to complete it. We can then assign the completed sentence to a variable as follows:
|
||||
|
||||
```js
|
||||
const sentence = "It was really " + "hot" + ", and we " + "laughed" + " ourselves " + "silly" + ".";
|
||||
@@ -19,21 +25,21 @@ const sentence = "It was really " + "hot" + ", and we " + "laughed" + " ourselve
|
||||
|
||||
# --instructions--
|
||||
|
||||
在这个挑战中,我们会提供给你一个名词、一个动词、一个形容词和一个副词。 你需要在我们提供的词语中,选择你要使用的词语来使这个句子变得完整。
|
||||
In this challenge, we provide you with a noun, a verb, an adjective and an adverb. You need to form a complete sentence using words of your choice, along with the words we provide.
|
||||
|
||||
你需要使用字符串连接操作符 `+` 和提供的变量 `myNoun`、`myAdjective`、`myVerb` 和 `myAdverb` 来构建一个新的字符串。 然后,将这个改好的新字符串赋值给 `wordBlanks` 变量。 不要去更改已经赋值给这些变量的单词。
|
||||
You will need to use the string concatenation operator `+` to build a new string, using the provided variables: `myNoun`, `myAdjective`, `myVerb`, and `myAdverb`. You will then assign the formed string to the `wordBlanks` variable. You should not change the words assigned to the variables.
|
||||
|
||||
你还需要确认字符串里的空格,以确保最后的句子里的每个单词之间都有空格。 最后的结果应该是一个完整的句子。
|
||||
You will also need to account for spaces in your string, so that the final sentence has spaces between all the words. The result should be a complete sentence.
|
||||
|
||||
# --hints--
|
||||
|
||||
`wordBlanks` 应该是一个字符串.
|
||||
`wordBlanks` should be a string.
|
||||
|
||||
```js
|
||||
assert(typeof wordBlanks === 'string');
|
||||
```
|
||||
|
||||
不要改变赋值给 `myNoun`, `myVerb`、`myAdjective` 或者`myAdverb` 这些变量的值。
|
||||
You should not change the values assigned to `myNoun`, `myVerb`, `myAdjective` or `myAdverb`.
|
||||
|
||||
```js
|
||||
assert(
|
||||
@@ -44,7 +50,7 @@ assert(
|
||||
);
|
||||
```
|
||||
|
||||
不要直接使用 `dog`、`ran`、`big` 或者 `quickly` 的值去创建 `wordBlanks`。
|
||||
You should not directly use the values `dog`, `ran`, `big`, or `quickly` to create `wordBlanks`.
|
||||
|
||||
```js
|
||||
const newCode = removeAssignments(code);
|
||||
@@ -56,7 +62,7 @@ assert(
|
||||
);
|
||||
```
|
||||
|
||||
`wordBlanks` 应该包含分配给变量 `myNoun`、`myVerb`、`myAdjective` 和 `myAdverb` 的所有单词,用非单词字符(和你选择的任何其他单词)分隔。
|
||||
`wordBlanks` should contain all of the words assigned to the variables `myNoun`, `myVerb`, `myAdjective` and `myAdverb` separated by non-word characters (and any additional words of your choice).
|
||||
|
||||
```js
|
||||
assert(
|
||||
|
||||
@@ -11,7 +11,13 @@ dashedName: word-blanks
|
||||
|
||||
Se te proporcionan oraciones con algunas palabras faltantes, como sustantivos, verbos, adjetivos y adverbios. Luego, completa las piezas que faltan con palabras de tu elección de una manera que la oración completa tenga sentido.
|
||||
|
||||
Considera esta oración: It was really **\_\_\_\_**, and we **\_\_\_\_** ourselves **\_\_\_\_**. Esta oración tiene tres piezas faltantes: un adjetivo, un verbo y un adverbio, y podemos añadir palabras de nuestra elección para completarla. Luego podemos asignar la oración completa a una variable de la siguiente manera:
|
||||
Consider this sentence:
|
||||
|
||||
```md
|
||||
It was really ____, and we ____ ourselves ____.
|
||||
```
|
||||
|
||||
This sentence has three missing pieces- an adjective, a verb and an adverb, and we can add words of our choice to complete it. We can then assign the completed sentence to a variable as follows:
|
||||
|
||||
```js
|
||||
const sentence = "It was really " + "hot" + ", and we " + "laughed" + " ourselves " + "silly" + ".";
|
||||
@@ -19,21 +25,21 @@ const sentence = "It was really " + "hot" + ", and we " + "laughed" + " ourselve
|
||||
|
||||
# --instructions--
|
||||
|
||||
En este desafío, te proporcionamos un sustantivo, un verbo, un adjetivo y un adverbio. Necesitas formar una oración completa usando palabras de tu elección, junto con las palabras que te proporcionamos.
|
||||
In this challenge, we provide you with a noun, a verb, an adjective and an adverb. You need to form a complete sentence using words of your choice, along with the words we provide.
|
||||
|
||||
Necesitarás usar el operador de concatenación de cadenas `+` para construir una nueva cadena, usando las variables proporcionadas: `myNoun`, `myAdjective`, `myVerb`, y `myAdverb`. A continuación, asignarás la cadena formada a la variable `wordBlanks`. No debes cambiar las palabras asignadas a las variables.
|
||||
You will need to use the string concatenation operator `+` to build a new string, using the provided variables: `myNoun`, `myAdjective`, `myVerb`, and `myAdverb`. You will then assign the formed string to the `wordBlanks` variable. You should not change the words assigned to the variables.
|
||||
|
||||
También tendrás que tener en cuenta los espacios en tu cadena, para que la frase final tenga espacios entre todas las palabras. El resultado debe ser una oración completa.
|
||||
You will also need to account for spaces in your string, so that the final sentence has spaces between all the words. The result should be a complete sentence.
|
||||
|
||||
# --hints--
|
||||
|
||||
`wordBlanks` debe ser una cadena.
|
||||
`wordBlanks` should be a string.
|
||||
|
||||
```js
|
||||
assert(typeof wordBlanks === 'string');
|
||||
```
|
||||
|
||||
No debes cambiar los valores asignados a `myNoun`, `myVerb`, `myAdjective` o `myAdverb`.
|
||||
You should not change the values assigned to `myNoun`, `myVerb`, `myAdjective` or `myAdverb`.
|
||||
|
||||
```js
|
||||
assert(
|
||||
@@ -44,7 +50,7 @@ assert(
|
||||
);
|
||||
```
|
||||
|
||||
No debes utilizar directamente los valores `dog`, `ran`, `big` o `quickly` para crear `wordBlanks`.
|
||||
You should not directly use the values `dog`, `ran`, `big`, or `quickly` to create `wordBlanks`.
|
||||
|
||||
```js
|
||||
const newCode = removeAssignments(code);
|
||||
@@ -56,7 +62,7 @@ assert(
|
||||
);
|
||||
```
|
||||
|
||||
`wordBlanks` debe contener todas las palabras asignadas a las variables `myNoun`, `myVerb`, `myAdjective` y `myAdverb` separadas por espacios (y cualquier palabra adicional a tu elección).
|
||||
`wordBlanks` should contain all of the words assigned to the variables `myNoun`, `myVerb`, `myAdjective` and `myAdverb` separated by non-word characters (and any additional words of your choice).
|
||||
|
||||
```js
|
||||
assert(
|
||||
|
||||
@@ -11,7 +11,13 @@ dashedName: word-blanks
|
||||
|
||||
Du erhältst Sätze mit einigen fehlenden Wörtern wie Nomen, Verben, Adjektiven und Adverbien. Anschließend ergänzt du die fehlenden Teile mit Wörtern deiner Wahl und so, dass der vollständige Satz einen Sinn ergibt.
|
||||
|
||||
Betrachte diesen Satz – Es war wirklich **\_\_\_\_** und wir **\_\_\_\_** uns selbst **\_\_\_\_**. In diesem Satz fehlen drei Teile – ein Adjektiv, ein Verb und ein Adverb. Wir können Wörter unserer Wahl hinzufügen, um ihn zu vervollständigen. Anschließend können wir den vervollständigten Satz wie folgt einer Variable zuordnen:
|
||||
Consider this sentence:
|
||||
|
||||
```md
|
||||
It was really ____, and we ____ ourselves ____.
|
||||
```
|
||||
|
||||
This sentence has three missing pieces- an adjective, a verb and an adverb, and we can add words of our choice to complete it. We can then assign the completed sentence to a variable as follows:
|
||||
|
||||
```js
|
||||
const sentence = "It was really " + "hot" + ", and we " + "laughed" + " ourselves " + "silly" + ".";
|
||||
@@ -19,21 +25,21 @@ const sentence = "It was really " + "hot" + ", and we " + "laughed" + " ourselve
|
||||
|
||||
# --instructions--
|
||||
|
||||
In dieser Aufgabe stellen wir dir jeweils ein Nomen, ein Verb und ein Adjektiv sowie ein Adverb zur Verfügung. Du musst einen vollständigen Satz mit Wörtern deiner Wahl und den von uns vorgegebenen Wörtern bilden.
|
||||
In this challenge, we provide you with a noun, a verb, an adjective and an adverb. You need to form a complete sentence using words of your choice, along with the words we provide.
|
||||
|
||||
Du musst den String-Verkettungsoperator `+` verwenden, um einen neuen String mithilfe der vorgegebenen Variablen `myNoun`, `myAdjective`, `myVerb` und `myAdverb` zu kreieren. Anschließend musst du den so gebildeten String der Variable `wordBlanks` zuweisen. Du solltest die Wörter, die den Variablen zugeordnet sind, nicht ändern.
|
||||
You will need to use the string concatenation operator `+` to build a new string, using the provided variables: `myNoun`, `myAdjective`, `myVerb`, and `myAdverb`. You will then assign the formed string to the `wordBlanks` variable. You should not change the words assigned to the variables.
|
||||
|
||||
Berücksichtige zudem Leerzeichen in deinem String – die Wörter deines Satzes müssen von Leerzeichen umgeben sein. Das Ergebnis sollte ein vollständiger Satz sein.
|
||||
You will also need to account for spaces in your string, so that the final sentence has spaces between all the words. The result should be a complete sentence.
|
||||
|
||||
# --hints--
|
||||
|
||||
`wordBlanks` sollte ein String sein.
|
||||
`wordBlanks` should be a string.
|
||||
|
||||
```js
|
||||
assert(typeof wordBlanks === 'string');
|
||||
```
|
||||
|
||||
Du solltest die Werte von `myNoun`, `myVerb`, `myAdjective` oder `myAdverb` nicht verändern.
|
||||
You should not change the values assigned to `myNoun`, `myVerb`, `myAdjective` or `myAdverb`.
|
||||
|
||||
```js
|
||||
assert(
|
||||
@@ -44,7 +50,7 @@ assert(
|
||||
);
|
||||
```
|
||||
|
||||
Du solltest nicht ausschließlich die Werte `dog`, `ran`, `big` oder `quickly` zur Erstellung von `wordBlanks` verwenden.
|
||||
You should not directly use the values `dog`, `ran`, `big`, or `quickly` to create `wordBlanks`.
|
||||
|
||||
```js
|
||||
const newCode = removeAssignments(code);
|
||||
@@ -56,7 +62,7 @@ assert(
|
||||
);
|
||||
```
|
||||
|
||||
`wordBlanks` sollte alle – durch beliebige Nichtwortzeichen getrennte – Wörter enthalten, die den Variablen `myNoun`, `myVerb`, `myAdjective` und `myAdverb` zugewiesen wurden. Du kannst zudem Wörter deiner Wahl hinzufügen.
|
||||
`wordBlanks` should contain all of the words assigned to the variables `myNoun`, `myVerb`, `myAdjective` and `myAdverb` separated by non-word characters (and any additional words of your choice).
|
||||
|
||||
```js
|
||||
assert(
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
---
|
||||
id: 61531b20cc9dfa2741a5b800
|
||||
title: College Algebra with Python Certification
|
||||
title: Certificazione di Algebra Universitaria con Python
|
||||
challengeType: 7
|
||||
isPrivate: true
|
||||
tests:
|
||||
-
|
||||
id: 63d83ff239c73468b059cd3f
|
||||
title: Multi-Function Calculator
|
||||
title: Calcolatrice Multi-funzione
|
||||
-
|
||||
id: 63d83ffd39c73468b059cd40
|
||||
title: Graphing Calculator
|
||||
title: Calcolatrice Grafica
|
||||
-
|
||||
id: 63d8401039c73468b059cd41
|
||||
title: Three Math Games
|
||||
title: Tre Giochi di Matematica
|
||||
-
|
||||
id: 63d8401e39c73468b059cd42
|
||||
title: Financial Calculator
|
||||
title: Calcolatrice Finanziaria
|
||||
-
|
||||
id: 63d8402e39c73468b059cd43
|
||||
title: Data Graph Explorer
|
||||
|
||||
@@ -11,7 +11,13 @@ dashedName: word-blanks
|
||||
|
||||
Ti vengono date delle frasi con delle parole mancanti, come nomi, verbi, aggettivi e avverbi. Devi quindi riempire le parti mancanti con parole a tua scelta in modo che la frase completata abbia senso.
|
||||
|
||||
Considera questa frase: It was really **\_\_\_\_**, and we **\_\_\_\_** ourselves **\_\_\_\_**. Questa frase ha tre parti mancanti - un aggettivo, un verbo e un avverbio, e possiamo aggiungere parole di nostra scelta per completarla. Possiamo quindi assegnare la frase completata a una variabile come segue:
|
||||
Consider this sentence:
|
||||
|
||||
```md
|
||||
It was really ____, and we ____ ourselves ____.
|
||||
```
|
||||
|
||||
This sentence has three missing pieces- an adjective, a verb and an adverb, and we can add words of our choice to complete it. We can then assign the completed sentence to a variable as follows:
|
||||
|
||||
```js
|
||||
const sentence = "It was really " + "hot" + ", and we " + "laughed" + " ourselves " + "silly" + ".";
|
||||
@@ -19,21 +25,21 @@ const sentence = "It was really " + "hot" + ", and we " + "laughed" + " ourselve
|
||||
|
||||
# --instructions--
|
||||
|
||||
In questa sfida, ti forniremo un sostantivo, un verbo, un aggettivo e un avverbio. Dovrai formare una frase completa utilizzando parole di tua scelta, insieme con le parole che ti forniremo.
|
||||
In this challenge, we provide you with a noun, a verb, an adjective and an adverb. You need to form a complete sentence using words of your choice, along with the words we provide.
|
||||
|
||||
Dovrai usare l'operatore di concatenazione delle stringhe `+` per creare una nuova stringa, utilizzando le variabili fornite: `myNoun`, `myAdjective`, `myVerb` e `myAdverb`. Assegnerai quindi la stringa costruita alla variabile `wordBlanks`. Non dovrai cambiare le parole assegnate alle variabili.
|
||||
You will need to use the string concatenation operator `+` to build a new string, using the provided variables: `myNoun`, `myAdjective`, `myVerb`, and `myAdverb`. You will then assign the formed string to the `wordBlanks` variable. You should not change the words assigned to the variables.
|
||||
|
||||
Nella tua stringa dovrai anche tenere conto degli spazi, in modo che la frase finale abbia degli spazi tra tutte le parole. Il risultato dovrebbe essere una frase completa.
|
||||
You will also need to account for spaces in your string, so that the final sentence has spaces between all the words. The result should be a complete sentence.
|
||||
|
||||
# --hints--
|
||||
|
||||
`wordBlanks` dovrebbe essere una stringa.
|
||||
`wordBlanks` should be a string.
|
||||
|
||||
```js
|
||||
assert(typeof wordBlanks === 'string');
|
||||
```
|
||||
|
||||
Non dovresti modificare i valori assegnati a `myNoun`, `myVerb`, `myAdjective` o `myAdverb`.
|
||||
You should not change the values assigned to `myNoun`, `myVerb`, `myAdjective` or `myAdverb`.
|
||||
|
||||
```js
|
||||
assert(
|
||||
@@ -44,7 +50,7 @@ assert(
|
||||
);
|
||||
```
|
||||
|
||||
Non dovresti usare direttamente i valori `dog`, `ran`, `big` o`quickly` per creare `wordBlanks`.
|
||||
You should not directly use the values `dog`, `ran`, `big`, or `quickly` to create `wordBlanks`.
|
||||
|
||||
```js
|
||||
const newCode = removeAssignments(code);
|
||||
@@ -56,7 +62,7 @@ assert(
|
||||
);
|
||||
```
|
||||
|
||||
`wordBlanks` dovrebbe contenere tutte le parole assegnate alle variabili `myNoun`, `myVerb`, `myAdjective` e `myAdverb` separate da caratteri che non siano parole (e da eventuali parole di tua scelta).
|
||||
`wordBlanks` should contain all of the words assigned to the variables `myNoun`, `myVerb`, `myAdjective` and `myAdverb` separated by non-word characters (and any additional words of your choice).
|
||||
|
||||
```js
|
||||
assert(
|
||||
|
||||
@@ -8,11 +8,11 @@ dashedName: add-attributes-to-the-circle-elements
|
||||
|
||||
# --description--
|
||||
|
||||
The last challenge created the `circle` elements for each point in the `dataset`, and appended them to the SVG. Ma D3 ha bisogno di ulteriori informazioni sulla posizione e la dimensione di ogni `circle` per visualizzarli correttamente.
|
||||
L'ultima sfida ha creato gli elementi `circle` per ogni punto nel `dataset` e li ha aggiunti all'SVG. Ma D3 ha bisogno di ulteriori informazioni sulla posizione e la dimensione di ogni `circle` per visualizzarli correttamente.
|
||||
|
||||
Un `circle` in SVG ha tre attributi principali. Gli attributi `cx` e `cy` sono le coordinate. They tell D3 where to position the *center* of the shape on the SVG. Il raggio (attributo`r`) dà la dimensione del `circle`.
|
||||
Un `circle` in SVG ha tre attributi principali. Gli attributi `cx` e `cy` sono le coordinate. Dicono a D3 dove posizionare il *centro* della forma sull'SVG. Il raggio (attributo `r`) dà la dimensione del `circle`.
|
||||
|
||||
Just like the `rect` `y` coordinate, the `cy` attribute for a `circle` is measured from the top of the SVG, not from the bottom.
|
||||
Proprio come la coordinata `y` del `rect`, l'attributo `cy` per un `circle` è misurato dalla parte superiore dell'SVG, non dal basso.
|
||||
|
||||
Tutti e tre gli attributi possono usare una funzione callback per impostare dinamicamente i loro valori. Ricorda che tutti i metodi concatenati dopo `data(dataset)` vengono eseguiti una volta per ogni elemento del `dataset`. Il parametro `d` nella funzione callback si riferisce all'elemento corrente del `dataset`, che è un array per ogni punto. Si utilizza la notazione parentesi, come `d[0]`, per accedere ai valori in quell'array.
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ D3 ha due metodi, `axisLeft()` e `axisBottom()`, per tracciare rispettivamente l
|
||||
const xAxis = d3.axisBottom(xScale);
|
||||
```
|
||||
|
||||
The next step is to render the axis on the SVG. Per farlo, è possibile utilizzare un componente SVG generale, l'elemento `g`. La `g` sta per gruppo. A differenza di `rect`, `circle`, e `text`, un asse è solo una linea retta quando è disegnato. Poiché è una forma semplice, usare `g` funziona. The last step is to apply a `transform` attribute to position the axis on the SVG in the right place. Otherwise, the line would render along the border of the SVG and wouldn't be visible. SVG supporta diversi tipi di trasformazioni (`transforms`), ma il posizionamento di un asse necessita di traslare (`translate`). Quando viene applicato all'elemento `g`, esso sposta l'intero gruppo sopra e verso il basso in base alle quantità indicate. Ecco un esempio:
|
||||
Il passo successivo è quello di disegnare l'asse sull'SVG. Per farlo, è possibile utilizzare un componente SVG generale, l'elemento `g`. La `g` sta per gruppo. A differenza di `rect`, `circle`, e `text`, un asse è solo una linea retta quando è disegnato. Poiché è una forma semplice, usare `g` funziona. L'ultimo passo è quello di applicare un attributo `transform` per posizionare l'asse sull'SVG nel posto giusto. In caso contrario, la linea verrebbe disegnata lungo il bordo dell'SVG e non sarebbe visibile. SVG supporta diversi tipi di trasformazioni (`transforms`), ma il posizionamento di un asse necessita di traslare (`translate`). Quando viene applicato all'elemento `g`, esso sposta l'intero gruppo sopra e verso il basso in base alle quantità indicate. Ecco un esempio:
|
||||
|
||||
```js
|
||||
const xAxis = d3.axisBottom(xScale);
|
||||
@@ -26,7 +26,7 @@ svg.append("g")
|
||||
.call(xAxis);
|
||||
```
|
||||
|
||||
The above code places the x-axis at the bottom of the SVG. Quindi è passato come argomento al metodo `call()`. L'asse y funziona allo stesso modo, a parte il fatto che l'argomento `translate` è nella forma `(x, 0)`. Poiché `translate` è una stringa nel metodo `attr()` scritto sopra, puoi usare la concatenazione per includere valori variabili nei suoi argomenti.
|
||||
Il codice qui sopra posiziona l'asse X nella parte inferiore dell'SVG. Quindi è passato come argomento al metodo `call()`. L'asse y funziona allo stesso modo, a parte il fatto che l'argomento `translate` è nella forma `(x, 0)`. Poiché `translate` è una stringa nel metodo `attr()` scritto sopra, puoi usare la concatenazione per includere valori variabili nei suoi argomenti.
|
||||
|
||||
# --instructions--
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ dashedName: add-labels-to-d3-elements
|
||||
|
||||
D3 ti permette di etichettare un elemento grafico, come una barra, usando l'elemento SVG `text`.
|
||||
|
||||
Like the `rect` element, a `text` element needs to have `x` and `y` attributes, to place it on the SVG. Deve inoltre accedere ai dati per visualizzare tali valori.
|
||||
Come l'elemento `rect`, un elemento `text` deve avere attributi `x` e `y`, per essere posizionato sull'SVG. Deve inoltre accedere ai dati per visualizzare tali valori.
|
||||
|
||||
D3 ti dà un alto livello di controllo su come etichettare le tue barre.
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ dashedName: add-labels-to-scatter-plot-circles
|
||||
|
||||
L'obiettivo è quello di visualizzare i valori separati da virgole per il primo campo (`x`) e il secondo campo (`y`) di ogni elemento nel `dataset`.
|
||||
|
||||
The `text` nodes need `x` and `y` attributes to position it on the SVG. In questa sfida, il valore `y` (che determina l'altezza) può usare lo stesso valore che il `circle` utilizza per il suo attributo `cy`. Il valore `x` può essere leggermente più grande del valore `cx` del `circle`, in modo che l'etichetta sia visibile. Questo sposterà l'etichetta a destra del punto tracciato.
|
||||
I nodi `text` hanno bisogno di attributi `x` e `y` per essere posizionati sull'SVG. In questa sfida, il valore `y` (che determina l'altezza) può usare lo stesso valore che il `circle` utilizza per il suo attributo `cy`. Il valore `x` può essere leggermente più grande del valore `cx` del `circle`, in modo che l'etichetta sia visibile. Questo sposterà l'etichetta a destra del punto tracciato.
|
||||
|
||||
# --instructions--
|
||||
|
||||
|
||||
@@ -8,13 +8,13 @@ dashedName: create-a-linear-scale-with-d3
|
||||
|
||||
# --description--
|
||||
|
||||
The bar and scatter plot charts both plotted data directly onto the SVG. Tuttavia, se l'altezza di una barra o di uno dei punti dati era maggiore dell'altezza o della larghezza della tela, sarebbero andati al di fuori dell'area SVG.
|
||||
I diagrammi a barre e a dispersione tracciavano i dati direttamente sull'SVG. Tuttavia, se l'altezza di una barra o di uno dei punti dati era maggiore dell'altezza o della larghezza della tela, sarebbero andati al di fuori dell'area SVG.
|
||||
|
||||
In D3 le scale aiutano a tracciare i dati. `scales` are functions that tell the program how to map a set of raw data points onto the pixels of the SVG.
|
||||
In D3 le scale aiutano a tracciare i dati. Le `scales` sono funzioni che dicono al programma come mappare un insieme di punti dati sui pixel dell'SVG.
|
||||
|
||||
For example, say you have a 100x500-sized SVG and you want to plot Gross Domestic Product (GDP) for a number of countries. La serie di numeri sarà dell'ordine del miliardo o triliardo di dollari. Puoi fornire a D3 un tipo di scala per dirgli come collocare i grandi valori del PIL in quell'area di dimensioni 100x500.
|
||||
Ad esempio, diciamo di avere un SVG di dimensioni 100x500 e di voler tracciare il prodotto interno lordo (PIL) per un certo numero di paesi. La serie di numeri sarà dell'ordine del miliardo o triliardo di dollari. Puoi fornire a D3 un tipo di scala per dirgli come collocare i grandi valori del PIL in quell'area di dimensioni 100x500.
|
||||
|
||||
È improbabile che si traccino i dati grezzi così come sono. Before plotting it, you set the scale for your entire data set, so that the `x` and `y` values fit your SVG width and height.
|
||||
È improbabile che si traccino i dati grezzi così come sono. Prima di tracciarli, imposta la scala per l'intero set di dati, in modo che i valori `x` e `y` si adattino alla larghezza e all'altezza dell'SVG.
|
||||
|
||||
D3 ha diversi tipi di scala. Per una scala lineare (di solito utilizzata con dati quantitativi), c'è il metodo D3 `scaleLinear()`:
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ SVG ha un tag `circle` per creare la forma del cerchio. Funziona in modo simile
|
||||
|
||||
# --instructions--
|
||||
|
||||
Use the `data()`, `enter()`, and `append()` methods to bind `dataset` to new `circle` elements that are appended to the SVG.
|
||||
Usa i metodi `data()`, `enter()`, e `append()` per associare il `dataset` ai nuovi elementi `circle` che sono aggiunti all'SVG.
|
||||
|
||||
**Nota:** I cerchi non saranno visibili perché non abbiamo ancora impostato i loro attributi. Lo faremo nella prossima sfida.
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ Per impostazione predefinita, le scale usano la relazione identità. Questo sign
|
||||
|
||||
Diciamo che un set di dati ha valori che vanno da 50 a 480. Queste sono le informazioni di input per una scala, noto anche come il <dfn>dominio</dfn>.
|
||||
|
||||
You want to map those points along the `x` axis on the SVG, between 10 units and 500 units. Queste sono le informazioni di output, note anche come <dfn>l'intervallo</dfn>.
|
||||
Vuoi mappare quei punti lungo l'asse `x` sull'SVG, tra 10 unità e 500 unità. Queste sono le informazioni di output, note anche come <dfn>l'intervallo</dfn>.
|
||||
|
||||
I metodi `domain()` e `range()` impostano questi valori per la scala. Entrambi i metodi prendono un array di almeno due elementi come argomento. Ecco un esempio:
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ dashedName: use-a-pre-defined-scale-to-place-elements
|
||||
|
||||
# --description--
|
||||
|
||||
Con le scale impostate, è il momento di mappare nuovamente il grafico a dispersione. The scales are like processing functions that turn the `x` and `y` raw data into values that fit and render correctly on the SVG. Esse mantengono i dati all'interno dell'area di disegno dello schermo.
|
||||
Con le scale impostate, è il momento di mappare nuovamente il grafico a dispersione. Le scale sono come le funzioni di elaborazione che trasformano i dati grezzi `x` e `y` in valori che si adattano e si posizionano correttamente sull'SVG. Esse mantengono i dati all'interno dell'area di disegno dello schermo.
|
||||
|
||||
I valori degli attributi coordinate di una forma SVG si impostano con la funzione di ridimensionamento. Questo include gli attributi `x` e `y` per gli elementi `rect` o `text`, oppure `cx` e `cy` per i `circles`. Ecco un esempio:
|
||||
|
||||
@@ -17,11 +17,11 @@ shape
|
||||
.attr("x", (d) => xScale(d[0]))
|
||||
```
|
||||
|
||||
Scales set shape coordinate attributes to place the data points onto the SVG. Non è necessario applicare le scale quando si visualizza il valore effettivo dei dati, per esempio, nel metodo `text()` per un suggerimento o un'etichetta.
|
||||
Le scale impostano gli attributi coordinate della forma per posizionare i punti dati sull'SVG. Non è necessario applicare le scale quando si visualizza il valore effettivo dei dati, per esempio, nel metodo `text()` per un suggerimento o un'etichetta.
|
||||
|
||||
# --instructions--
|
||||
|
||||
Use `xScale` and `yScale` to position both the `circle` and `text` shapes onto the SVG. Per i `circles`, applica le scale per impostare gli attributi `cx` e `cy`. Dai loro anche un raggio di `5` unità.
|
||||
Usa `xScale` e `yScale` per posizionare entrambe le forme `circle` e `text` sull'SVG. Per i `circles`, applica le scale per impostare gli attributi `cx` e `cy`. Dai loro anche un raggio di `5` unità.
|
||||
|
||||
Per gli elementi `text`, applica le scale per impostare gli attributi `x` e `y`. Le etichette devono essere spostate a destra dei punti. Per fare questo, aggiungi `10` unità al valore di dati `x` prima di passarlo a `xScale`.
|
||||
|
||||
|
||||
@@ -10,11 +10,11 @@ dashedName: use-dynamic-scales
|
||||
|
||||
I metodi D3 `min()` e `max()` sono utili per impostare la scala.
|
||||
|
||||
Dato un insieme di dati complesso, una priorità è quella di impostare la scala in modo che la visualizzazione si adatti alla larghezza e all'altezza del contenitore SVG. You want all the data plotted inside the SVG so it's visible on the web page.
|
||||
Dato un insieme di dati complesso, una priorità è quella di impostare la scala in modo che la visualizzazione si adatti alla larghezza e all'altezza del contenitore SVG. Vuoi che tutti i dati siano tracciati all'interno dell'SVG in modo da essere visibili sulla pagina web.
|
||||
|
||||
L'esempio qui sotto imposta la scala dell'asse x per i dati del grafico a dispersione. Il metodo `domain()` passa le informazioni alla scala sui valori dei dati grezzi per il grafico. Il metodo `range()` fornisce informazioni sullo spazio effettivo nella pagina web per la visualizzazione.
|
||||
|
||||
Nell'esempio, il dominio va da 0 al massimo nel set di dati. Usa il metodo `max()` con una funzione di callback basata sui valori x negli array. The range uses the SVG's width (`w`), but it includes some padding, too. This puts space between the scatter plot dots and the edge of the SVG.
|
||||
Nell'esempio, il dominio va da 0 al massimo nel set di dati. Usa il metodo `max()` con una funzione di callback basata sui valori x negli array. L'intervallo utilizza la larghezza dell'SVG (`w`), ma include anche un po' di padding. Questo mette dello spazio tra i punti della del grafico a dispersione e il bordo dell'SVG.
|
||||
|
||||
```js
|
||||
const dataset = [
|
||||
@@ -38,7 +38,7 @@ const xScale = d3.scaleLinear()
|
||||
.range([padding, w - padding]);
|
||||
```
|
||||
|
||||
Il padding inizialmente può confondere. Picture the x-axis as a horizontal line from 0 to 500 (the width value for the SVG). Includendo il padding nel metodo `range()` costringiamo il grafico a partire da 30 lungo quella linea (invece che da 0), e terminare a 470 (invece che a 500).
|
||||
Il padding inizialmente può confondere. Immagina l'asse X come una linea orizzontale che va da 0 a 500 (il valore di larghezza dell'SVG). Includendo il padding nel metodo `range()` costringiamo il grafico a partire da 30 lungo quella linea (invece che da 0), e terminare a 470 (invece che a 500).
|
||||
|
||||
# --instructions--
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ Segui <a href='https://www.freecodecamp.org/news/get-started-with-mongodb-atlas/
|
||||
|
||||
**Nota:** Se stai usando Replit, non puoi creare un file `.env`. Utilizza invece la scheda <dfn>SECRETS</dfn> integrata per aggiungere la variabile. <em>Non</em> racchiudere i valori in virgolette quando usi la scheda <em>SECRETS</em>.
|
||||
|
||||
When you are done, connect to the database by calling the `connect` method within your `myApp.js` file by using the following syntax:
|
||||
Quando hai finito, connettiti al database chiamando il metodo `connect` all'interno del file `myApp.js` utilizzando la seguente sintassi:
|
||||
|
||||
```js
|
||||
mongoose.connect(<Your URI>, { useNewUrlParser: true, useUnifiedTopology: true });
|
||||
|
||||
@@ -7,31 +7,31 @@ dashedName: step-26
|
||||
|
||||
# --description--
|
||||
|
||||
To start your CSS, normalize the CSS rules by targeting all elements with `*`, including the `::before` and `::after` pseudo-selectors.
|
||||
Per iniziare a impostare lo stile, normalizza le regole CSS selezionando tutti gli elementi con un `*`, includendo anche gli pseudo-selettori `::before` e `::after`.
|
||||
|
||||
Set the `padding` and `margin` properties both to `0` and set the `box-sizing` property to `border-box`.
|
||||
Imposta le proprietà `padding` e `margin` su `0` e imposta la proprietà `box-sizing` su `border-box`.
|
||||
|
||||
# --hints--
|
||||
|
||||
You should have a `*, ::before, ::after` selector.
|
||||
Dovresti avere un selettore `*, ::before, ::after`.
|
||||
|
||||
```js
|
||||
assert(new __helpers.CSSHelp(document).getStyle('*, ::before, ::after'));
|
||||
```
|
||||
|
||||
Your `*, ::before, ::after` selector should have a `padding` property set to `0`.
|
||||
Il selettore `*, ::before, ::after` dovrebbe avere una proprietà `padding` impostata a `0`.
|
||||
|
||||
```js
|
||||
assert(new __helpers.CSSHelp(document).getStyle('*, ::before, ::after')?.padding === '0px');
|
||||
```
|
||||
|
||||
Your `*, ::before, ::after` selector should have a `margin` property set to `0`.
|
||||
Il selettore `*, ::before, ::after` dovrebbe avere una proprietà `margin` impostata a `0`.
|
||||
|
||||
```js
|
||||
assert(new __helpers.CSSHelp(document).getStyle('*, ::before, ::after')?.margin === '0px');
|
||||
```
|
||||
|
||||
Your `*, ::before, ::after` selector should have a `box-sizing` property set to `border-box`.
|
||||
Il selettore `*, ::before, ::after` dovrebbe avere una proprietà `box-sizing` impostata su `border-box`.
|
||||
|
||||
```js
|
||||
assert(new __helpers.CSSHelp(document).getStyle('*, ::before, ::after')?.boxSizing === 'border-box');
|
||||
|
||||
@@ -13,13 +13,13 @@ Questo ti renderà più facile lavorare con le unità `rem` più tardi, dato che
|
||||
|
||||
# --hints--
|
||||
|
||||
You should create an `html` selector.
|
||||
Dovresti creare un selettore `html`.
|
||||
|
||||
```js
|
||||
assert(new __helpers.CSSHelp(document).getStyle('html'));
|
||||
```
|
||||
|
||||
Your `html` selector should have a `font-size` property set to `62.5%`.
|
||||
Il selettore `html` dovrebbe avere una proprietà `font-size` impostata al `62.5%`.
|
||||
|
||||
```js
|
||||
assert(new __helpers.CSSHelp(document).getStyle('html')?.fontSize === '62.5%');
|
||||
|
||||
@@ -16,17 +16,17 @@ La funzione `calc()` è una funzione CSS che consente di calcolare un valore sul
|
||||
}
|
||||
```
|
||||
|
||||
Give `#years` a `margin` of `0 -2px`, and a `padding` set to `0.5rem calc(1.25rem + 2px) 0.5rem 0`.
|
||||
Dai a `#years` una proprietà `margin` di `0 -2px` e un `padding` impostato su `0.5rem calc(1.25rem + 2px) 0.5rem 0`.
|
||||
|
||||
# --hints--
|
||||
|
||||
Your `#years` selector should have a `margin` property set to `0 -2px`.
|
||||
Il selettore `#years` dovrebbe avere una proprietà `margin` impostata a `0 -2px`.
|
||||
|
||||
```js
|
||||
assert(new __helpers.CSSHelp(document).getStyle('#years')?.getPropertyValue('margin') === '0px -2px');
|
||||
```
|
||||
|
||||
Your `#years` selector should have a `padding` property set to `0.5rem calc(1.25rem + 2px) 0.5rem 0`.
|
||||
Il selettore `#years` dovrebbe avere una proprietà `padding` impostata su `0.5rem calc(1.25rem + 2px) 0.5rem 0`.
|
||||
|
||||
```js
|
||||
const padding = new __helpers.CSSHelp(document).getStyle('#years')?.getPropertyValue('padding');
|
||||
|
||||
@@ -7,11 +7,11 @@ dashedName: step-43
|
||||
|
||||
# --description--
|
||||
|
||||
Adding position `sticky` moved the element into its own stack. To ensure your `#years` element does not get hidden by different stacks, add a `z-index` property set to `999` in the `#years` rule.
|
||||
Aggiungere position `sticky` ha spostato l'elemento nel suo proprio livello. Per garantire che l'elemento `#years` non venga nascosto da diversi livelli, aggiungi una proprietà `z-index` impostata su `999` nella regola `#years`.
|
||||
|
||||
# --hints--
|
||||
|
||||
Your `#years` selector should have a `z-index` property set to `999`.
|
||||
Il selettore `#years` dovrebbe avere una proprietà `z-index` impostata a `999`.
|
||||
|
||||
```js
|
||||
assert.equal(new __helpers.CSSHelp(document).getStyle('#years')?.getPropertyValue('z-index'), '999');
|
||||
|
||||
@@ -24,13 +24,13 @@ const text = document.querySelector('.daily-value.small-text')?.lastElementChild
|
||||
assert(text === 'Cholesterol 0mg 0%');
|
||||
```
|
||||
|
||||
Your new `p` element should have exactly three `span` elements.
|
||||
Il nuovo elemento `p` dovrebbe avere esattamente tre elementi `span`.
|
||||
|
||||
```js
|
||||
assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelectorAll('span')?.length === 3);
|
||||
```
|
||||
|
||||
The text `Cholesterol` should be nested in a `span`.
|
||||
Il testo `Cholesterol` dovrebbe essere annidato in un elemento `span`.
|
||||
|
||||
```js
|
||||
const spans = [...document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelectorAll('span')];
|
||||
@@ -38,7 +38,7 @@ const cholesterolSpan = spans.filter(span => span?.innerHTML?.match(/^[\s\n]*Cho
|
||||
assert(cholesterolSpan.length === 1);
|
||||
```
|
||||
|
||||
Your `Cholesterol` `span` should have the `class` attribute set to `bold`.
|
||||
L'elemento `span` `Cholesterol` dovrebbe avere l'attributo `class` impostato su `bold`.
|
||||
|
||||
```js
|
||||
const spans = [...document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelectorAll('span')];
|
||||
@@ -46,7 +46,7 @@ const cholesterolSpan = spans.filter(span => span?.innerHTML?.match(/^[\s\n]*Cho
|
||||
assert(cholesterolSpan[0]?.classList?.contains('bold'));
|
||||
```
|
||||
|
||||
The text `0%` should be nested in a `span`.
|
||||
Il testo `0%` dovrebbe essere annidato in un elemento `span`.
|
||||
|
||||
```js
|
||||
const spans = [...document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelectorAll('span')];
|
||||
@@ -54,7 +54,7 @@ const zeroPercentSpan = spans.filter(span => span?.innerHTML?.match(/^[\s\n]*0%[
|
||||
assert(zeroPercentSpan.length === 1);
|
||||
```
|
||||
|
||||
Your `0%` `span` should have the `class` attribute set to `bold`.
|
||||
L'elemento `span` `0%` dovrebbe avere l'attributo `class` impostato su `bold`.
|
||||
|
||||
```js
|
||||
const spans = [...document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelectorAll('span')];
|
||||
@@ -62,7 +62,7 @@ const zeroPercentSpan = spans.filter(span => span?.innerHTML?.match(/^[\s\n]*0%[
|
||||
assert(zeroPercentSpan[0]?.classList?.contains('bold'));
|
||||
```
|
||||
|
||||
Your `Cholesterol` `span` and your `0mg` text should be wrapped in a `span`.
|
||||
L'elemento `span` `Cholesterol` e il testo `0mg` dovrebbero essere racchiusi in uno `span`.
|
||||
|
||||
```js
|
||||
const spans = [...document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelectorAll('span')];
|
||||
|
||||
@@ -11,7 +11,13 @@ dashedName: word-blanks
|
||||
|
||||
名詞、動詞、形容詞、副詞など、いくつかの単語が空欄となっている文章が提示されます。 そして、自由に選んだ言葉で空欄を埋めて、意味が通る文章を完成させます。
|
||||
|
||||
次の文章を考えてみましょう 。「It was really **\_\_\_\_**, and we **\_\_\_\_** ourselves **\_\_\_\_**」。 この文章は形容詞、動詞、副詞の 3 つが空欄になっており、好きな単語を入れて文章を完成させることができます。 そして、次のように完成した文章を変数に代入します。
|
||||
Consider this sentence:
|
||||
|
||||
```md
|
||||
It was really ____, and we ____ ourselves ____.
|
||||
```
|
||||
|
||||
This sentence has three missing pieces- an adjective, a verb and an adverb, and we can add words of our choice to complete it. We can then assign the completed sentence to a variable as follows:
|
||||
|
||||
```js
|
||||
const sentence = "It was really " + "hot" + ", and we " + "laughed" + " ourselves " + "silly" + ".";
|
||||
@@ -19,21 +25,21 @@ const sentence = "It was really " + "hot" + ", and we " + "laughed" + " ourselve
|
||||
|
||||
# --instructions--
|
||||
|
||||
このチャレンジでは、名詞、動詞、形容詞、副詞が提示されます。 提示された単語と、自分の選んだ言葉を使用して文章を完成させてください。
|
||||
In this challenge, we provide you with a noun, a verb, an adjective and an adverb. You need to form a complete sentence using words of your choice, along with the words we provide.
|
||||
|
||||
用意された変数 (`myNoun`、`myAdjective`、`myVerb`、`myAdverb`) を使用して新しい文字列を作成するために、文字列連結演算子 `+` を使用する必要があります。 そして、作成した文字列を `wordBlanks` 変数に代入します。 あらかじめ変数に代入されている単語を変更してはいけません。
|
||||
You will need to use the string concatenation operator `+` to build a new string, using the provided variables: `myNoun`, `myAdjective`, `myVerb`, and `myAdverb`. You will then assign the formed string to the `wordBlanks` variable. You should not change the words assigned to the variables.
|
||||
|
||||
文字列内のスペースにも気を付ける必要があります。最終的な文章ではすべての単語間にスペースが含まれるようにします。 結果が完全な文章になるようにしてください。
|
||||
You will also need to account for spaces in your string, so that the final sentence has spaces between all the words. The result should be a complete sentence.
|
||||
|
||||
# --hints--
|
||||
|
||||
`wordBlanks` は文字列である必要があります。
|
||||
`wordBlanks` should be a string.
|
||||
|
||||
```js
|
||||
assert(typeof wordBlanks === 'string');
|
||||
```
|
||||
|
||||
`myNoun`、`myVerb`、`myAdjective`、`myAdverb` に割り当てられた値を変更しないでください。
|
||||
You should not change the values assigned to `myNoun`, `myVerb`, `myAdjective` or `myAdverb`.
|
||||
|
||||
```js
|
||||
assert(
|
||||
@@ -44,7 +50,7 @@ assert(
|
||||
);
|
||||
```
|
||||
|
||||
`wordBlanks` を作成するために、`dog`、`ran`、`big`、`quickly` の値を直接使用しないでください。
|
||||
You should not directly use the values `dog`, `ran`, `big`, or `quickly` to create `wordBlanks`.
|
||||
|
||||
```js
|
||||
const newCode = removeAssignments(code);
|
||||
@@ -56,7 +62,7 @@ assert(
|
||||
);
|
||||
```
|
||||
|
||||
`wordBlanks` には変数の `myNoun`、`myVerb`、`myAdjective`、`myAdverb` に割り当てられた単語がすべて含まれている必要があり、それらの間は単語以外の文字 (および、あなたが追加した単語) で区切られる必要があります。
|
||||
`wordBlanks` should contain all of the words assigned to the variables `myNoun`, `myVerb`, `myAdjective` and `myAdverb` separated by non-word characters (and any additional words of your choice).
|
||||
|
||||
```js
|
||||
assert(
|
||||
|
||||
@@ -11,7 +11,13 @@ dashedName: word-blanks
|
||||
|
||||
Você recebe frases com algumas palavras faltando, como substantivos, verbos, adjetivos e advérbios. Você então preencherá os pedaços faltantes com palavras de sua escolha de modo que a frase completa faça sentido.
|
||||
|
||||
Considere a frase - Era realmente **\_\_\_\_** e nós **\_\_\_\_** nós mesmos **\_\_\_\_**. Essa frase possui três pedaços faltando - um adjetivo, um verbo e um advérbio, e nós podemos adicionar palavras de nossa escolha para completar. Em seguida, podemos atribuir a frase completa para uma variável como se segue:
|
||||
Consider this sentence:
|
||||
|
||||
```md
|
||||
It was really ____, and we ____ ourselves ____.
|
||||
```
|
||||
|
||||
This sentence has three missing pieces- an adjective, a verb and an adverb, and we can add words of our choice to complete it. We can then assign the completed sentence to a variable as follows:
|
||||
|
||||
```js
|
||||
const sentence = "It was really " + "hot" + ", and we " + "laughed" + " ourselves " + "silly" + ".";
|
||||
@@ -19,21 +25,21 @@ const sentence = "It was really " + "hot" + ", and we " + "laughed" + " ourselve
|
||||
|
||||
# --instructions--
|
||||
|
||||
Nesse desafio, nós fornecemos a você um substantivo, um verbo, um adjetivo e um advérbio. Você precisar formular uma frase completa usando palavras de sua escolha, junto com as palavras que nós fornecemos.
|
||||
In this challenge, we provide you with a noun, a verb, an adjective and an adverb. You need to form a complete sentence using words of your choice, along with the words we provide.
|
||||
|
||||
Você precisará usar o operador de concatenação de string `+` para criar uma nova string, usando as variáveis fornecidas: `myNoun`, `myAdjective`, `myVerb` e `myAdverb`. Em seguida, você atribuirá a string formada para a variável `wordBlanks`. Você não deve alterar as palavras atribuídas às variáveis.
|
||||
You will need to use the string concatenation operator `+` to build a new string, using the provided variables: `myNoun`, `myAdjective`, `myVerb`, and `myAdverb`. You will then assign the formed string to the `wordBlanks` variable. You should not change the words assigned to the variables.
|
||||
|
||||
Você também precisará se responsabilizar por espaços em sua string, para que na frase final possua espaços entre todas as palavras. O resultado não deve ser uma frase completa.
|
||||
You will also need to account for spaces in your string, so that the final sentence has spaces between all the words. The result should be a complete sentence.
|
||||
|
||||
# --hints--
|
||||
|
||||
`wordBlanks` deve ser uma string.
|
||||
`wordBlanks` should be a string.
|
||||
|
||||
```js
|
||||
assert(typeof wordBlanks === 'string');
|
||||
```
|
||||
|
||||
Você não deve alterar os valores atribuídos a `myNoun`, `myVerb`, `myAdjective` ou `myAdverb`.
|
||||
You should not change the values assigned to `myNoun`, `myVerb`, `myAdjective` or `myAdverb`.
|
||||
|
||||
```js
|
||||
assert(
|
||||
@@ -44,7 +50,7 @@ assert(
|
||||
);
|
||||
```
|
||||
|
||||
Você não deve usar diretamente os valores `dog`, `ran`, `big` ou `quickly` para criar `wordBlanks`.
|
||||
You should not directly use the values `dog`, `ran`, `big`, or `quickly` to create `wordBlanks`.
|
||||
|
||||
```js
|
||||
const newCode = removeAssignments(code);
|
||||
@@ -56,7 +62,7 @@ assert(
|
||||
);
|
||||
```
|
||||
|
||||
`wordBlanks` deve conter todas as palavras atribuídas às variáveis `myNoun`, `myVerb`, `myAdjective` e `myAdverb` separadas por caracteres que não sejam palavras (e qualquer palavra adicional de sua escolha).
|
||||
`wordBlanks` should contain all of the words assigned to the variables `myNoun`, `myVerb`, `myAdjective` and `myAdverb` separated by non-word characters (and any additional words of your choice).
|
||||
|
||||
```js
|
||||
assert(
|
||||
|
||||
@@ -32,7 +32,7 @@ Siga <a href='https://www.freecodecamp.org/news/get-started-with-mongodb-atlas/'
|
||||
|
||||
**Observação:** se você estiver usando o Replit, você não poderá criar um arquivo `.env`. Em vez disso, use a aba embutida <dfn>SECRETS</dfn> para adicionar a variável. <em>Não</em> circule os valores com aspas ao usar a aba <em>SECRETS</em>.
|
||||
|
||||
When you are done, connect to the database by calling the `connect` method within your `myApp.js` file by using the following syntax:
|
||||
Quando terminar, conecte-se ao banco de dados chamando o método `connect` dentro do seu arquivo `myApp.js` usando a seguinte sintaxe:
|
||||
|
||||
```js
|
||||
mongoose.connect(<Your URI>, { useNewUrlParser: true, useUnifiedTopology: true });
|
||||
|
||||
@@ -7,11 +7,11 @@ dashedName: step-12
|
||||
|
||||
# --description--
|
||||
|
||||
No passo anterior, você usou um <dfn>seletor de tipo</dfn> para estilizar o elemento `h1`. Centralize os elementos `h2` e `p` adicionando um novo seletor de tipo para cada um dos elementos `style` existentes.
|
||||
No passo anterior, você usou um <dfn>seletor de tipo</dfn> para estilizar o elemento `h1`. Centralize os elementos `h2` e `p` adicionando um novo seletor de tipo para cada um no elementos `style` existente.
|
||||
|
||||
# --hints--
|
||||
|
||||
O elemento preexistente `h1` deve permanecer o mesmo.
|
||||
O elemento `h1` que já existia deve permanecer o mesmo.
|
||||
|
||||
```js
|
||||
const hasH1 = new __helpers.CSSHelp(document).getStyle('h1');
|
||||
@@ -25,21 +25,21 @@ const hasManyStyleTags = document.querySelectorAll('style').length > 1;
|
||||
assert(!hasManyStyleTags);
|
||||
```
|
||||
|
||||
Você deve usar um novo seletor `h2`.
|
||||
Você deve adicionar um novo seletor `h2`.
|
||||
|
||||
```js
|
||||
const hasH2 = new __helpers.CSSHelp(document).getStyle('h2');
|
||||
assert(hasH2);
|
||||
```
|
||||
|
||||
Você deve usar um novo seletor `p`.
|
||||
Você deve adicionar um novo seletor `p`.
|
||||
|
||||
```js
|
||||
const hasP = new __helpers.CSSHelp(document).getStyle('p');
|
||||
assert(hasP);
|
||||
```
|
||||
|
||||
O elemento `h1` deve ter o `text-align` para `center`.
|
||||
O elemento `h1` deve ter o `text-align` de `center`.
|
||||
|
||||
```js
|
||||
const h1TextAlign = new __helpers.CSSHelp(document).getStyle('h1')?.getPropertyValue('text-align');
|
||||
@@ -53,7 +53,7 @@ const h2TextAlign = new __helpers.CSSHelp(document).getStyle('h2')?.getPropertyV
|
||||
assert(h2TextAlign === 'center');
|
||||
```
|
||||
|
||||
O elemento `p` deve ter o `text-align` para `center`.
|
||||
O elemento `p` deve ter o `text-align` de `center`.
|
||||
|
||||
```js
|
||||
const pTextAlign = new __helpers.CSSHelp(document).getStyle('p')?.getPropertyValue('text-align');
|
||||
|
||||
@@ -7,31 +7,31 @@ dashedName: step-26
|
||||
|
||||
# --description--
|
||||
|
||||
To start your CSS, normalize the CSS rules by targeting all elements with `*`, including the `::before` and `::after` pseudo-selectors.
|
||||
Para iniciar seu CSS, normalize as regras do CSS tendo como destino todos os elementos com `*`, incluindo os pseudosseletores `::before` e `::after`.
|
||||
|
||||
Set the `padding` and `margin` properties both to `0` and set the `box-sizing` property to `border-box`.
|
||||
Defina as propriedades `padding` e `margin` como `0` e defina a propriedade `box-sizing` como `border-box`.
|
||||
|
||||
# --hints--
|
||||
|
||||
You should have a `*, ::before, ::after` selector.
|
||||
Você deve ter o seletor `*, ::before, ::after`.
|
||||
|
||||
```js
|
||||
assert(new __helpers.CSSHelp(document).getStyle('*, ::before, ::after'));
|
||||
```
|
||||
|
||||
Your `*, ::before, ::after` selector should have a `padding` property set to `0`.
|
||||
O seletor `*, ::before, ::after` deve ter a propriedade `padding` definida como `0`.
|
||||
|
||||
```js
|
||||
assert(new __helpers.CSSHelp(document).getStyle('*, ::before, ::after')?.padding === '0px');
|
||||
```
|
||||
|
||||
Your `*, ::before, ::after` selector should have a `margin` property set to `0`.
|
||||
O seletor `*, ::before, ::after` deve ter a propriedade `margin` definida como `0`.
|
||||
|
||||
```js
|
||||
assert(new __helpers.CSSHelp(document).getStyle('*, ::before, ::after')?.margin === '0px');
|
||||
```
|
||||
|
||||
Your `*, ::before, ::after` selector should have a `box-sizing` property set to `border-box`.
|
||||
O seletor `*, ::before, ::after` deve ter uma propriedade `box-sizing` definida como `border-box`.
|
||||
|
||||
```js
|
||||
assert(new __helpers.CSSHelp(document).getStyle('*, ::before, ::after')?.boxSizing === 'border-box');
|
||||
|
||||
@@ -13,13 +13,13 @@ Isto facilitará para você trabalhar com unidades `rem` mais tarde, já que `2r
|
||||
|
||||
# --hints--
|
||||
|
||||
You should create an `html` selector.
|
||||
Você deve criar um seletor `html`.
|
||||
|
||||
```js
|
||||
assert(new __helpers.CSSHelp(document).getStyle('html'));
|
||||
```
|
||||
|
||||
Your `html` selector should have a `font-size` property set to `62.5%`.
|
||||
O seletor `html` deve ter a propriedade `font-size` definida como `62.5%`.
|
||||
|
||||
```js
|
||||
assert(new __helpers.CSSHelp(document).getStyle('html')?.fontSize === '62.5%');
|
||||
|
||||
@@ -24,13 +24,13 @@ const text = document.querySelector('.daily-value.small-text')?.lastElementChild
|
||||
assert(text === 'Cholesterol 0mg 0%');
|
||||
```
|
||||
|
||||
Your new `p` element should have exactly three `span` elements.
|
||||
O novo elemento `p` deve ter exatamente três elementos `span`.
|
||||
|
||||
```js
|
||||
assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelectorAll('span')?.length === 3);
|
||||
```
|
||||
|
||||
The text `Cholesterol` should be nested in a `span`.
|
||||
O texto `Cholesterol` deve estar aninhado em um `span`.
|
||||
|
||||
```js
|
||||
const spans = [...document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelectorAll('span')];
|
||||
@@ -38,7 +38,7 @@ const cholesterolSpan = spans.filter(span => span?.innerHTML?.match(/^[\s\n]*Cho
|
||||
assert(cholesterolSpan.length === 1);
|
||||
```
|
||||
|
||||
Your `Cholesterol` `span` should have the `class` attribute set to `bold`.
|
||||
O elemento `span` dizendo `Cholesterol` deve ter o atributo `class` com o valor `bold`.
|
||||
|
||||
```js
|
||||
const spans = [...document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelectorAll('span')];
|
||||
@@ -46,7 +46,7 @@ const cholesterolSpan = spans.filter(span => span?.innerHTML?.match(/^[\s\n]*Cho
|
||||
assert(cholesterolSpan[0]?.classList?.contains('bold'));
|
||||
```
|
||||
|
||||
The text `0%` should be nested in a `span`.
|
||||
O texto `0%` deve estar aninhado em um `span`.
|
||||
|
||||
```js
|
||||
const spans = [...document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelectorAll('span')];
|
||||
@@ -54,7 +54,7 @@ const zeroPercentSpan = spans.filter(span => span?.innerHTML?.match(/^[\s\n]*0%[
|
||||
assert(zeroPercentSpan.length === 1);
|
||||
```
|
||||
|
||||
Your `0%` `span` should have the `class` attribute set to `bold`.
|
||||
O elemento `span` dizendo `0%` deve ter o atributo `class` com o valor `bold`.
|
||||
|
||||
```js
|
||||
const spans = [...document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelectorAll('span')];
|
||||
@@ -62,7 +62,7 @@ const zeroPercentSpan = spans.filter(span => span?.innerHTML?.match(/^[\s\n]*0%[
|
||||
assert(zeroPercentSpan[0]?.classList?.contains('bold'));
|
||||
```
|
||||
|
||||
Your `Cholesterol` `span` and your `0mg` text should be wrapped in a `span`.
|
||||
Seu `span` dizendo `Cholesterol` e seu texto `0mg` devem ser envolvidos em um `span`.
|
||||
|
||||
```js
|
||||
const spans = [...document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelectorAll('span')];
|
||||
|
||||
@@ -10,7 +10,7 @@ dashedName: factorialize-a-number
|
||||
|
||||
Поверніть факторіал поданого цілого числа.
|
||||
|
||||
Якщо ціле число позначається літерою `n`, то факторіал – це добуток усіх додатних цілих чисел, менших або рівних `n`.
|
||||
Якщо ціле число позначається літерою `n`, то факторіал — це добуток усіх додатних цілих чисел, менших або рівних `n`.
|
||||
|
||||
Факторіали часто зображаються короткими позначеннями `n!`
|
||||
|
||||
|
||||
@@ -11,7 +11,13 @@ dashedName: word-blanks
|
||||
|
||||
Вам надано речення з пропущеними словами: іменниками, дієсловами, прикметниками та прислівниками. Потім ви заповнюєте пропуски словами так, щоб завершене речення мало сенс.
|
||||
|
||||
Розгляньте речення «It was really **\_\_\_\_**, and we **\_\_\_\_** ourselves **\_\_\_\_**». У цьому реченні відсутні три слова: прикметник, дієслово та прислівник; ми можемо додати вибрані слова, щоб завершити речення. Потім ми можемо присвоїти завершене речення змінній наступним чином:
|
||||
Consider this sentence:
|
||||
|
||||
```md
|
||||
It was really ____, and we ____ ourselves ____.
|
||||
```
|
||||
|
||||
This sentence has three missing pieces- an adjective, a verb and an adverb, and we can add words of our choice to complete it. We can then assign the completed sentence to a variable as follows:
|
||||
|
||||
```js
|
||||
const sentence = "It was really " + "hot" + ", and we " + "laughed" + " ourselves " + "silly" + ".";
|
||||
@@ -19,21 +25,21 @@ const sentence = "It was really " + "hot" + ", and we " + "laughed" + " ourselve
|
||||
|
||||
# --instructions--
|
||||
|
||||
У цьому завданні вам надано іменник, дієслово, прикметник та прислівник. Ви повинні завершити речення, використовуючи слова на власний вибір, а також надані нами.
|
||||
In this challenge, we provide you with a noun, a verb, an adjective and an adverb. You need to form a complete sentence using words of your choice, along with the words we provide.
|
||||
|
||||
Ви повинні використати оператор конкатенації `+`, щоб побудувати новий рядок, використовуючи надані змінні: `myNoun`, `myAdjective`, `myVerb` та `myAdverb`. Потім ви присвоїте сформований рядок до змінної `wordBlanks`. Ви не повинні змінювати слова, присвоєні зміннім.
|
||||
You will need to use the string concatenation operator `+` to build a new string, using the provided variables: `myNoun`, `myAdjective`, `myVerb`, and `myAdverb`. You will then assign the formed string to the `wordBlanks` variable. You should not change the words assigned to the variables.
|
||||
|
||||
Вам також потрібно врахувати пропуски у рядку, щоб завершене речення містило пробіли між усіма словами. Результатом повинне бути завершене речення.
|
||||
You will also need to account for spaces in your string, so that the final sentence has spaces between all the words. The result should be a complete sentence.
|
||||
|
||||
# --hints--
|
||||
|
||||
`wordBlanks` має бути рядком.
|
||||
`wordBlanks` should be a string.
|
||||
|
||||
```js
|
||||
assert(typeof wordBlanks === 'string');
|
||||
```
|
||||
|
||||
Ви не повинні змінювати значення, присвоєні до `myNoun`, `myVerb`, `myAdjective` або `myAdverb`.
|
||||
You should not change the values assigned to `myNoun`, `myVerb`, `myAdjective` or `myAdverb`.
|
||||
|
||||
```js
|
||||
assert(
|
||||
@@ -44,7 +50,7 @@ assert(
|
||||
);
|
||||
```
|
||||
|
||||
Ви не повинні напряму використовувати значення `dog`, `ran`, `big` або `quickly`, щоб створити `wordBlanks`.
|
||||
You should not directly use the values `dog`, `ran`, `big`, or `quickly` to create `wordBlanks`.
|
||||
|
||||
```js
|
||||
const newCode = removeAssignments(code);
|
||||
@@ -56,7 +62,7 @@ assert(
|
||||
);
|
||||
```
|
||||
|
||||
`wordBlanks` має містити всі слова, присвоєні до змінних `myNoun`, `myVerb`, `myAdjective` та `myAdverb`, розділені розділовим знаком (та додаткові слова на ваш вибір).
|
||||
`wordBlanks` should contain all of the words assigned to the variables `myNoun`, `myVerb`, `myAdjective` and `myAdverb` separated by non-word characters (and any additional words of your choice).
|
||||
|
||||
```js
|
||||
assert(
|
||||
|
||||
@@ -10,7 +10,7 @@ dashedName: catch-misspelled-variable-and-function-names
|
||||
|
||||
Методи `console.log()` та `typeof` є двома основними способами перевірки проміжних значень та типів виводу програми. Тепер час заглибитися у найпоширеніші помилки. Однією помилкою на синтаксичному рівні, яку можна допустити при швидкому друці, є звичайна орфографічна помилка.
|
||||
|
||||
Якщо символ у змінній чи назві функції буде перенесений, відсутній, або ж матиме неправильний регістр, браузер виконуватиме пошук неіснуючого об’єкта та надсилатиме скарги у формі посилання на помилку. Назви змінних та функцій у JavaScript чутливі до регістру.
|
||||
Якщо символ у назві змінної чи функції буде перенесений, відсутній, або ж матиме неправильний регістр, браузер виконуватиме пошук неіснуючого об’єкта та надсилатиме скарги у формі посилання на помилку. Назви змінних та функцій у JavaScript чутливі до регістру.
|
||||
|
||||
# --instructions--
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ dashedName: catch-unclosed-parentheses-brackets-braces-and-quotes
|
||||
|
||||
Ще одна синтаксична помилка, про яку варто пам’ятати: всі відкриваючі дужки та лапки мають закриваючу пару. Зазвичай про це можна забути під час редагування вже існуючого коду або вставлення елементів з одним із парних розділових знаків. Також будьте обережні, коли вкладаєте одні блоки коду в інші (наприклад, додавання функції зворотного виклику як аргумент до методу).
|
||||
|
||||
Один зі способів уникнути цієї помилки – одразу при відкритті лапок чи дужок закривати їх, а потім повертатись всередину та продовжувати програмувати. На щастя, більшість сучасних редакторів коду створюють другу частину пари автоматично.
|
||||
Один зі способів уникнути цієї помилки — одразу при відкритті лапок чи дужок закривати їх, а потім повертатись всередину та продовжувати програмувати. На щастя, більшість сучасних редакторів коду створюють другу частину пари автоматично.
|
||||
|
||||
# --instructions--
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ dashedName: prevent-infinite-loops-with-a-valid-terminal-condition
|
||||
|
||||
# --description--
|
||||
|
||||
Остання тема – нескінченний цикл, який багатьох лякає. Цикли є чудовими інструментами, якщо вам необхідно, щоб програма виконувала блок коду певну кількість разів або поки умова не буде виконана, але їм також потрібна кінцева умова, яка закінчить цикл. Нескінченні цикли можуть призвести до блокування або збоїв у роботі браузера, чого кожен прагнув би уникнути.
|
||||
Остання тема — нескінченний цикл, який багатьох лякає. Цикли є чудовими інструментами, якщо вам необхідно, щоб програма виконувала блок коду певну кількість разів або поки умова не буде виконана, але їм також потрібна кінцева умова, яка закінчить цикл. Нескінченні цикли можуть призвести до блокування або збоїв у роботі браузера, чого кожен прагнув би уникнути.
|
||||
|
||||
У вступі до цього розділу був приклад нескінченного циклу: у ньому немає кінцевої умови для того, щоб закінчити цикл `while` всередині `loopy()`. НЕ викликайте цю функцію!
|
||||
|
||||
@@ -20,7 +20,7 @@ function loopy() {
|
||||
}
|
||||
```
|
||||
|
||||
Завданням програміста – гарантувати, що кінцева умова, яка вказує програмі на кінець циклу, буде досягнута. Одна помилка полягає в збільшенні або зменшенні змінної лічильника в неправильному напрямку від кінцевої умови. Іншою помилкою є випадкове скидання змінної лічильника або індексу всередині циклу замість збільшення або зменшення.
|
||||
Завданням програміста — гарантувати, що кінцева умова, яка вказує програмі на кінець циклу, буде досягнута. Одна помилка полягає в збільшенні або зменшенні змінної лічильника в неправильному напрямку від кінцевої умови. Іншою помилкою є випадкове скидання змінної лічильника або індексу всередині циклу замість збільшення або зменшення.
|
||||
|
||||
# --instructions--
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ dashedName: use-the-javascript-console-to-check-the-value-of-a-variable
|
||||
|
||||
# --description--
|
||||
|
||||
І Chrome, і Firefox мають чудові консолі, також відомі як DevTools, які використовують для налагодження роботи JavaScript.
|
||||
Chrome та Firefox мають чудові консолі, також відомі як DevTools, які використовують для налагодження роботи JavaScript.
|
||||
|
||||
Ви можете знайти інструменти розробника у меню Chrome або вебконсоль у меню Firefox. Якщо ви використовуєте інший браузер або мобільний телефон, ми наполегливо радимо вам перейти на комп’ютерну версію Firefox або Chrome.
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ console.log(howMany("string", null, [1, 2, 3], { }));
|
||||
|
||||
Консоль показуватиме рядки `You have passed 3 arguments.` та `You have passed 4 arguments.`.
|
||||
|
||||
The rest parameter eliminates the need to use the `arguments` object and allows us to use array methods on the array of parameters passed to the function `howMany`.
|
||||
Залишковий параметр усуває потребу використовувати об’єкт `arguments` та дозволяє нам використовувати методи масиву на масиві параметрів, переданих до функції `howMany`.
|
||||
|
||||
# --instructions--
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ dashedName: visualize-data-with-a-choropleth-map
|
||||
|
||||
**Історія користувача №2:** моя фонова картограма повинна мати описовий елемент з відповідним `id="description"`.
|
||||
|
||||
**Історія користувача №3:** моя фонова картограма повинна мати округи з відповідним `class="county"`, що показує дані.
|
||||
**Історія користувача №3:** моя фонова картограма повинна мати округи з відповідними `class="county"`, що показують дані.
|
||||
|
||||
**Історія користувача №4:** потрібно використати принаймні 4 різних кольори заливки для округів.
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ dashedName: visualize-data-with-a-heat-map
|
||||
|
||||
**Історія користувача №2:** моя теплокарта повинна мати опис з відповідним `id="description"`.
|
||||
|
||||
**Історія користувача №3:** моя теплокарта повинна мат вісь X з відповідним `id="x-axis"`.
|
||||
**Історія користувача №3:** моя теплокарта повинна мати вісь X з відповідним `id="x-axis"`.
|
||||
|
||||
**Історія користувача №4:** моя теплокарта повинна мати вісь Y з відповідним `id="y-axis"`.
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
id: 5e9a0e9ef99a403d019610cb
|
||||
title: Рекурентні нейронні мережі (RNN) і довга короткочасна пам'ять (LSTM)
|
||||
title: Рекурентні нейронні мережі (RNN) і довга короткочасна пам’ять (LSTM)
|
||||
challengeType: 11
|
||||
videoId: UVimlsy9eW0
|
||||
dashedName: recurrent-neural-networks-rnn-and-long-short-term-memory-lstm
|
||||
@@ -10,7 +10,7 @@ dashedName: recurrent-neural-networks-rnn-and-long-short-term-memory-lstm
|
||||
|
||||
## --text--
|
||||
|
||||
Якими є основні компоненти нейронної мережі, що утворюють мережу довгої короткочасної пам'яті?
|
||||
Якими є основні компоненти нейронної мережі, що утворюють мережу довгої короткочасної пам’яті?
|
||||
|
||||
## --answers--
|
||||
|
||||
|
||||
@@ -45,11 +45,11 @@ get_recommends("The Queen of the Damned (Vampire Chronicles (Paperback))")
|
||||
]
|
||||
```
|
||||
|
||||
Зверніть увагу, що дані, які повертає `get_recommends()`, є списком. Першим елементом у списку є назва книжки, передана у функцію. Другим елементом списку є список із ще п’яти списків. Кожен з п’яти списків містить рекомендовану книжку та відстань від рекомендованої книжки до книжки, переданої у функцію.
|
||||
Зверніть увагу, що дані, які повертає `get_recommends()`, є списком. Першим елементом у списку є назва книжки, передана у функцію. Другим елементом списку є список із ще п’яти списків. Кожен з п’яти списків містить рекомендовану книжку та відстань від рекомендованої книжки до книжки, переданої до функції.
|
||||
|
||||
Якщо ви побудуєте графік набору даних (необов’язково), ви помітите, що більшість книжок оцінюється рідко. Щоб забезпечити статистичну значущість, видаліть із набору даних користувачів з менш ніж 200 оцінками та книжки з менш ніж 100 оцінками.
|
||||
|
||||
Перші три клітинки імпортують бібліотеки, які вам можуть знадобитися, та дані для використання. Кінцева клітинка для тестування. Напишіть весь свій код між цими клітинками.
|
||||
Перші три клітинки імпортують бібліотеки, які вам можуть знадобитися, та дані для використання. Кінцева клітинка — для тестування. Напишіть весь свій код між цими клітинками.
|
||||
|
||||
# --hints--
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ dashedName: cat-and-dog-image-classifier
|
||||
|
||||
Вам надано частину коду, а іншу частину коду ви повинні заповнити, щоб виконати це завдання. Прочитайте інструкцію в кожній текстовій клітинці, щоб знати, що вам потрібно зробити в кожній клітинці коду.
|
||||
|
||||
Перша клітинка коду імпортує необхідні бібліотеки. Друга клітинка коду завантажує дані та встановлює ключові змінні. Третя клітинка – це перше місце, де ви будете писати свій власний код.
|
||||
Перша клітинка коду імпортує необхідні бібліотеки. Друга клітинка коду завантажує дані та встановлює ключові змінні. Третя клітинка — це перше місце, де ви будете писати свій власний код.
|
||||
|
||||
Структура файлів набору даних, які завантажуються, виглядає так (ви помітите, що тестова директорія не має піддиректорій, а зображення не позначені):
|
||||
|
||||
@@ -35,7 +35,7 @@ cats_and_dogs
|
||||
|__ test: [1.jpg, 2.jpg ...]
|
||||
```
|
||||
|
||||
Ви можете налаштувати епохи та розмір, якщо хочете, але це не обов’язково.
|
||||
Ви можете налаштувати епохи та розмір, якщо хочете, але це необов’язково.
|
||||
|
||||
Наступні інструкції відповідають конкретним номерам клітинок, позначеним коментарем у верхній частині клітинки (наприклад, `# 3`).
|
||||
|
||||
@@ -64,7 +64,7 @@ Found 50 images belonging to 1 class.
|
||||
|
||||
Повторно створіть `train_image_generator`, використовуючи `ImageDataGenerator`.
|
||||
|
||||
Оскільки існує невелика кількість навчальних прикладів, наявний ризик переоснащення. Один зі способів розв'язати цю проблему – це створити більше навчальних даних із наявних навчальних прикладів за допомогою випадкових перетворень.
|
||||
Оскільки існує невелика кількість навчальних прикладів, наявний ризик переоснащення. Один зі способів розв’язати цю проблему — це створити більше навчальних даних із наявних навчальних прикладів за допомогою випадкових перетворень.
|
||||
|
||||
Додайте 4-6 випадкових перетворень як аргументи до `ImageDataGenerator`. Не забудьте змінити масштаб так само, як і раніше.
|
||||
|
||||
@@ -90,7 +90,7 @@ Found 50 images belonging to 1 class.
|
||||
|
||||
Тепер настав час використати вашу модель, щоб передбачити, чи є нове зображення кішкою чи собакою.
|
||||
|
||||
У цій клітинці отримайте ймовірність того, що кожне тестове зображення (з `test_data_gen`) є собакою чи котом. `probabilities` повинен бути списком цілих чисел.
|
||||
У цій клітинці отримайте ймовірність того, що кожне тестове зображення (з `test_data_gen`) є собакою чи кішкою. `probabilities` повинен бути списком цілих чисел.
|
||||
|
||||
Викличте функцію `plotImages` та передайте тестові зображення та ймовірності, що відповідають кожному тестовому зображенню.
|
||||
|
||||
@@ -98,7 +98,7 @@ Found 50 images belonging to 1 class.
|
||||
|
||||
## Клітинка 11
|
||||
|
||||
Запустіть останню клітинку, щоб побачити, чи ви пройшли завдання чи вам потрібно продовжувати спроби.
|
||||
Запустіть останню клітинку, щоб побачити, чи ви пройшли завдання, чи вам потрібно продовжувати спроби.
|
||||
|
||||
# --hints--
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
id: 5e46f8edac417301a38fb930
|
||||
title: Калькулятор лінійної регресії витрат на здоров'я
|
||||
title: Калькулятор лінійної регресії витрат на здоров’я
|
||||
challengeType: 10
|
||||
forumTopicId: 462379
|
||||
dashedName: linear-regression-health-costs-calculator
|
||||
@@ -16,9 +16,9 @@ dashedName: linear-regression-health-costs-calculator
|
||||
|
||||
# --instructions--
|
||||
|
||||
У цьому завданні ви передбачите витрати на здоров'я, використовуючи алгоритм регресії.
|
||||
У цьому завданні ви передбачите витрати на здоров’я, використовуючи алгоритм регресії.
|
||||
|
||||
Ви отримаєте набір даних, що містять інформацію про різних людей, враховуючи їхні витрати на здоров'я. Використайте дані для прогнозування витрат на здоров'я на основі нових даних.
|
||||
Ви отримаєте набір даних, що містять інформацію про різних людей, враховуючи їхні витрати на здоров’я. Використайте дані для прогнозування витрат на здоров’я на основі нових даних.
|
||||
|
||||
Перші дві клітинки цього блокнота імпортують бібліотеки та дані.
|
||||
|
||||
|
||||
@@ -16,11 +16,11 @@ dashedName: neural-network-sms-text-classifier
|
||||
|
||||
# --instructions--
|
||||
|
||||
В цьому завданні вам потрібно створити модель машинного навчання, яка класифікуватиме СМС повідомлення як «ham» або «spam». Повідомлення «ham» – це звичайне повідомлення, надіслане другом. Повідомлення «spam» – це реклама або повідомлення, надіслане компанією.
|
||||
В цьому завданні вам потрібно створити модель машинного навчання, яка класифікуватиме СМС повідомлення як «ham» або «spam». Повідомлення «ham» — це звичайне повідомлення, надіслане другом. Повідомлення «spam» — це реклама або повідомлення, надіслане компанією.
|
||||
|
||||
Ви повинні створити функцію під назвою `predict_message`, яка приймає рядок повідомлення як аргумент та повертає список. Першим елементом у списку повинне бути число від нуля до одного, яке вказує на ймовірність «ham» (0) або «spam» (1). Другим елементом у списку повинне бути слово «ham» або «spam», залежно від того, що більш ймовірно.
|
||||
|
||||
У цьому завданні ви будете використовувати набір даних <a href="http://www.dt.fee.unicamp.br/~tiago/smsspamcollection/" target="_blank" rel="noopener noreferrer nofollow">Колекція спаму СМС</a>. Набір даних вже згруповано в навчальні та тестові дані.
|
||||
У цьому завданні ви будете використовувати набір даних <a href="http://www.dt.fee.unicamp.br/~tiago/smsspamcollection/" target="_blank" rel="noopener noreferrer nofollow">«Колекція спаму СМС»</a>. Набір даних вже згруповано в навчальні та тестові дані.
|
||||
|
||||
Перші дві клітинки імпортують бібліотеки та дані. Остання клітинка перевіряє вашу модель та функцію. Додайте свій код між цими клітинками.
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ dashedName: rock-paper-scissors
|
||||
|
||||
Функція гравця отримає порожній рядок як аргумент для першої гри в матчі, оскільки немає попередньої гри.
|
||||
|
||||
У файлі `RPS.py` показано приклад функції, яку вам потрібно оновити. Приклад функції визначається двома аргументами (`player(prev_play, opponent_history = [])`). Функція ніколи не викликається з другим аргументом, тому він є абсолютно необов’язковим. Причина, чому функція з прикладу містить другий аргумент (`opponent_history = []`), полягає в тому, що це єдиний спосіб зберегти стан між послідовними викликами функції `player`. Вам потрібен лише аргумент `opponent_history`, якщо ви хочете стежити за історією ходів супротивника.
|
||||
У файлі `RPS.py` показано приклад функції, яку вам потрібно оновити. Приклад функції визначається двома аргументами (`player(prev_play, opponent_history = [])`). Функція ніколи не викликається другим аргументом, тому він є абсолютно необов’язковим. Причина, чому функція з прикладу містить другий аргумент (`opponent_history = []`), полягає в тому, що це єдиний спосіб зберегти стан між послідовними викликами функції `player`. Вам потрібен лише аргумент `opponent_history`, якщо ви хочете стежити за історією ходів супротивника.
|
||||
|
||||
*Підказка: щоб перемогти всіх чотирьох супротивників, ваша програма повинна мати багато стратегій, які змінюються залежно від гри супротивника.*
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ dashedName: convolutional-neural-networks-evaluating-the-model
|
||||
|
||||
## --answers--
|
||||
|
||||
Збільшувати об'єм вже існуючих даних.
|
||||
Збільшувати об’єм вже існуючих даних.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ dashedName: convolutional-neural-networks
|
||||
|
||||
---
|
||||
|
||||
погано працюють із класифікацією зображення або визначенням об'єкта.
|
||||
погано працюють із класифікацією зображення або визначенням об’єкта.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ dashedName: core-learning-algorithms-hidden-markov-models
|
||||
|
||||
---
|
||||
|
||||
У ній аналізується взаємозв'язок між незалежними та залежними змінними для прогнозування.
|
||||
У ній аналізується взаємозв’язок між незалежними та залежними змінними для прогнозування.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ dashedName: core-learning-algorithms-using-probabilities-to-make-predictions
|
||||
|
||||
## --text--
|
||||
|
||||
Який модуль TensorFlow слід імпортувати для реалізації `.HiddenMarkovModel()`?
|
||||
Який модуль TensorFlow потрібно імпортувати для реалізації `.HiddenMarkovModel()`?
|
||||
|
||||
## --answers--
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ dashedName: core-learning-algorithms
|
||||
|
||||
## --text--
|
||||
|
||||
Який тип аналізу найкраще підходить для розв'язання наступної задачі?
|
||||
Який тип аналізу найкраще підходить для розв’язання наступної задачі?
|
||||
|
||||
У вас є дані про середню температуру у березні за останні 100 років. Використовуючи цю інформацію, потрібно передбачити середню температуру у березні через 5 років.
|
||||
|
||||
|
||||
@@ -22,11 +22,11 @@ dashedName: introduction-machine-learning-fundamentals
|
||||
|
||||
---
|
||||
|
||||
Комп'ютерні програми, які грають з людьми в хрестики-нулики або шахи, є прикладами простого штучного інтелекту.
|
||||
Комп’ютерні програми, які грають з людьми в хрестики-нулики або шахи, є прикладами простого штучного інтелекту.
|
||||
|
||||
---
|
||||
|
||||
Машинне навчання – це підмножина штучного інтелекту.
|
||||
Машинне навчання — це підмножина штучного інтелекту.
|
||||
|
||||
## --video-solution--
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ dashedName: natural-language-processing-with-rnns-part-2
|
||||
|
||||
## --text--
|
||||
|
||||
Вкладання слів це...:
|
||||
Вкладання слів — це...:
|
||||
|
||||
## --answers--
|
||||
|
||||
|
||||
@@ -22,11 +22,11 @@ dashedName: natural-language-processing-with-rnns-recurring-neural-networks
|
||||
|
||||
---
|
||||
|
||||
2: Вони підтримують внутрішню пам'ять/стан вводу, який вже був оброблений.
|
||||
2: Вони підтримують внутрішню пам’ять/стан вводу, який вже був оброблений.
|
||||
|
||||
---
|
||||
|
||||
RNN містять цикл та обробляють по одному фрагменту вводу одночасно.
|
||||
3: RNN містять цикл та обробляють по одному фрагменту вводу одночасно.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ dashedName: natural-language-processing-with-rnns
|
||||
|
||||
## --text--
|
||||
|
||||
Обробка природної мови – це галузь штучного інтелекту, яка...:
|
||||
Обробка природної мови — це галузь штучного інтелекту, яка...:
|
||||
|
||||
## --answers--
|
||||
|
||||
@@ -26,7 +26,7 @@ dashedName: natural-language-processing-with-rnns
|
||||
|
||||
---
|
||||
|
||||
спеціалізується на перекладі комп'ютерних мов на природні/людські мови.
|
||||
спеціалізується на перекладі комп’ютерних мов на природні/людські мови.
|
||||
|
||||
## --video-solution--
|
||||
|
||||
|
||||
@@ -14,19 +14,19 @@ dashedName: neural-networks-with-tensorflow
|
||||
|
||||
## --text--
|
||||
|
||||
Щільно зв'язана нейронна мережа – це та, в якій...:
|
||||
Щільно зв’язана нейронна мережа — це та, в якій...:
|
||||
|
||||
## --answers--
|
||||
|
||||
всі нейрони поточного шару з'єднані з одним нейроном попереднього шару.
|
||||
всі нейрони поточного шару з’єднані з одним нейроном попереднього шару.
|
||||
|
||||
---
|
||||
|
||||
всі нейрони у кожному шарі пов'язані випадковим чином.
|
||||
всі нейрони у кожному шарі пов’язані випадковим чином.
|
||||
|
||||
---
|
||||
|
||||
всі нейрони поточного шару з'єднані з кожним нейроном попереднього шару.
|
||||
всі нейрони поточного шару з’єднані з кожним нейроном попереднього шару.
|
||||
|
||||
## --video-solution--
|
||||
|
||||
|
||||
@@ -7,31 +7,31 @@ dashedName: step-26
|
||||
|
||||
# --description--
|
||||
|
||||
To start your CSS, normalize the CSS rules by targeting all elements with `*`, including the `::before` and `::after` pseudo-selectors.
|
||||
Щоб запустити свій CSS, нормалізуйте CSS-правила, націливши всі елементи за допомогою `*`, включно з псевдоселекторами `::before` та `::after`.
|
||||
|
||||
Set the `padding` and `margin` properties both to `0` and set the `box-sizing` property to `border-box`.
|
||||
Встановіть властивості `padding` та `margin` на `0`, а властивість `box-sizing` на `border-box`.
|
||||
|
||||
# --hints--
|
||||
|
||||
You should have a `*, ::before, ::after` selector.
|
||||
Ви повинні мати селектор `*, ::before, ::after`.
|
||||
|
||||
```js
|
||||
assert(new __helpers.CSSHelp(document).getStyle('*, ::before, ::after'));
|
||||
```
|
||||
|
||||
Your `*, ::before, ::after` selector should have a `padding` property set to `0`.
|
||||
Ваш селектор `*, ::before, ::after` повинен мати властивість `padding` зі значенням `0`.
|
||||
|
||||
```js
|
||||
assert(new __helpers.CSSHelp(document).getStyle('*, ::before, ::after')?.padding === '0px');
|
||||
```
|
||||
|
||||
Your `*, ::before, ::after` selector should have a `margin` property set to `0`.
|
||||
Ваш селектор `*, ::before, ::after` повинен мати властивість `margin` зі значенням `0`.
|
||||
|
||||
```js
|
||||
assert(new __helpers.CSSHelp(document).getStyle('*, ::before, ::after')?.margin === '0px');
|
||||
```
|
||||
|
||||
Your `*, ::before, ::after` selector should have a `box-sizing` property set to `border-box`.
|
||||
Ваш селектор `*, ::before, ::after` повинен мати властивість `box-sizing` зі значенням `border-box`.
|
||||
|
||||
```js
|
||||
assert(new __helpers.CSSHelp(document).getStyle('*, ::before, ::after')?.boxSizing === 'border-box');
|
||||
|
||||
@@ -13,13 +13,13 @@ dashedName: step-27
|
||||
|
||||
# --hints--
|
||||
|
||||
You should create an `html` selector.
|
||||
Ви повинні створити селектор `html`.
|
||||
|
||||
```js
|
||||
assert(new __helpers.CSSHelp(document).getStyle('html'));
|
||||
```
|
||||
|
||||
Your `html` selector should have a `font-size` property set to `62.5%`.
|
||||
Ваш селектор `html` повинен мати властивість `font-size` зі значенням `62.5%`.
|
||||
|
||||
```js
|
||||
assert(new __helpers.CSSHelp(document).getStyle('html')?.fontSize === '62.5%');
|
||||
|
||||
@@ -24,13 +24,13 @@ const text = document.querySelector('.daily-value.small-text')?.lastElementChild
|
||||
assert(text === 'Cholesterol 0mg 0%');
|
||||
```
|
||||
|
||||
Your new `p` element should have exactly three `span` elements.
|
||||
Ваш новий елемент `p` повинен мати рівно три елементи `span`.
|
||||
|
||||
```js
|
||||
assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelectorAll('span')?.length === 3);
|
||||
```
|
||||
|
||||
The text `Cholesterol` should be nested in a `span`.
|
||||
Текст `Cholesterol` повинен бути вкладеним у `span`.
|
||||
|
||||
```js
|
||||
const spans = [...document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelectorAll('span')];
|
||||
@@ -38,7 +38,7 @@ const cholesterolSpan = spans.filter(span => span?.innerHTML?.match(/^[\s\n]*Cho
|
||||
assert(cholesterolSpan.length === 1);
|
||||
```
|
||||
|
||||
Your `Cholesterol` `span` should have the `class` attribute set to `bold`.
|
||||
Ваш `span` `Cholesterol` повинен мати атрибут `class` зі значенням `bold`.
|
||||
|
||||
```js
|
||||
const spans = [...document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelectorAll('span')];
|
||||
@@ -46,7 +46,7 @@ const cholesterolSpan = spans.filter(span => span?.innerHTML?.match(/^[\s\n]*Cho
|
||||
assert(cholesterolSpan[0]?.classList?.contains('bold'));
|
||||
```
|
||||
|
||||
The text `0%` should be nested in a `span`.
|
||||
Текст `0%` повинен бути вкладеним у `span`.
|
||||
|
||||
```js
|
||||
const spans = [...document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelectorAll('span')];
|
||||
@@ -54,7 +54,7 @@ const zeroPercentSpan = spans.filter(span => span?.innerHTML?.match(/^[\s\n]*0%[
|
||||
assert(zeroPercentSpan.length === 1);
|
||||
```
|
||||
|
||||
Your `0%` `span` should have the `class` attribute set to `bold`.
|
||||
Ваш `span` `0%` повинен мати атрибут `class` зі значенням `bold`.
|
||||
|
||||
```js
|
||||
const spans = [...document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelectorAll('span')];
|
||||
@@ -62,7 +62,7 @@ const zeroPercentSpan = spans.filter(span => span?.innerHTML?.match(/^[\s\n]*0%[
|
||||
assert(zeroPercentSpan[0]?.classList?.contains('bold'));
|
||||
```
|
||||
|
||||
Your `Cholesterol` `span` and your `0mg` text should be wrapped in a `span`.
|
||||
Ваш `span` `Cholesterol` та текст `0mg` повинні бути обгорнуті у `span`.
|
||||
|
||||
```js
|
||||
const spans = [...document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelectorAll('span')];
|
||||
|
||||
@@ -10,17 +10,17 @@ dashedName: build-a-cash-register
|
||||
|
||||
Розробіть функцію касового апарату `checkCashRegister()`, яка приймає ціну покупки як перший аргумент (`price`), оплату як другий аргумент (`cash`) та суму готівки в касі як третій аргумент (`cid`).
|
||||
|
||||
`cid` – це 2D масив, який містить список доступного обігу.
|
||||
`cid` — це 2D масив, який містить список доступного обігу.
|
||||
|
||||
Функція `checkCashRegister()` завжди повинна повертати об'єкт з ключем `status` та ключем `change`.
|
||||
|
||||
Поверніть `{status: "INSUFFICIENT_FUNDS", change: []}`, якщо сума готівки в касі менша за здачу, або ви не можете віддати здачу.
|
||||
|
||||
Поверніть `{status: "CLOSED", change: [...]}` з сумою в касі як значення ключа `change`, якщо вона дорівнює здачі.
|
||||
Поверніть `{status: "CLOSED", change: [...]}` з сумою в касі як значення ключа `change`, якщо воно дорівнює здачі.
|
||||
|
||||
В іншому випадку, поверніть `{status: "OPEN", change: [...]}` зі здачею в монетах і банкнотах, в порядку від найбільшої до найменшої, як значення ключа `change`.
|
||||
|
||||
<table class='table table-striped'><tbody><tr><th>Грошовий обіг</th><th>Сума</th></tr><tr><td>Пенні</td><td>$0.01 (ПЕННІ)</td></tr><tr><td>Нікель</td><td>$0.05 (НІКЕЛЬ)</td></tr><tr><td>Дайм</td><td>$0.1 (ДАЙМ)</td></tr><tr><td>Чверть</td><td>$0.25 (ЧВЕРТЬ)</td></tr><tr><td>Долар</td><td>$1 (ОДИН)</td></tr><tr><td>П'ять доларів</td><td>$5 (П'ЯТЬ)</td></tr><tr><td>Десять доларів</td><td>$10 (ДЕСЯТЬ)</td></tr><tr><td>Двадцять доларів</td><td>$20 (ДВАДЦЯТЬ)</td></tr><tr><td>Сто доларів</td><td>$100 (СТО)</td></tr></tbody></table>
|
||||
<table class='table table-striped'><tbody><tr><th>Грошовий обіг</th><th>Сума</th></tr><tr><td>Пенні</td><td>$0.01 (ПЕННІ)</td></tr><tr><td>Нікель</td><td>$0.05 (НІКЕЛЬ)</td></tr><tr><td>Дайм</td><td>$0.1 (ДАЙМ)</td></tr><tr><td>Чверть</td><td>$0.25 (ЧВЕРТЬ)</td></tr><tr><td>Долар</td><td>$1 (ОДИН)</td></tr><tr><td>П’ять доларів</td><td>$5 (П’ЯТЬ)</td></tr><tr><td>Десять доларів</td><td>$10 (ДЕСЯТЬ)</td></tr><tr><td>Двадцять доларів</td><td>$20 (ДВАДЦЯТЬ)</td></tr><tr><td>Сто доларів</td><td>$100 (СТО)</td></tr></tbody></table>
|
||||
|
||||
Подивіться нижче на приклад масиву з сумою в касі:
|
||||
|
||||
@@ -40,7 +40,7 @@ dashedName: build-a-cash-register
|
||||
|
||||
# --hints--
|
||||
|
||||
`checkCashRegister(19.5, 20, [["PENNY", 1.01], ["NICKEL", 2.05], ["DIME", 3.1], ["QUARTER", 4.25], ["ONE", 90], ["FIVE", 55], ["TEN", 20], ["TWENTY", 60], ["ONE HUNDRED", 100]])` повинен повертати об'єкт.
|
||||
`checkCashRegister(19.5, 20, [["PENNY", 1.01], ["NICKEL", 2.05], ["DIME", 3.1], ["QUARTER", 4.25], ["ONE", 90], ["FIVE", 55], ["TEN", 20], ["TWENTY", 60], ["ONE HUNDRED", 100]])` має повертати об’єкт.
|
||||
|
||||
```js
|
||||
assert.deepEqual(
|
||||
@@ -61,7 +61,7 @@ assert.deepEqual(
|
||||
);
|
||||
```
|
||||
|
||||
`checkCashRegister(19.5, 20, [["PENNY", 1.01], ["NICKEL", 2.05], ["DIME", 3.1], ["QUARTER", 4.25], ["ONE", 90], ["FIVE", 55], ["TEN", 20], ["TWENTY", 60], ["ONE HUNDRED", 100]])` повинен повертати `{status: "OPEN", change: [["QUARTER", 0.5]]}`.
|
||||
`checkCashRegister(19.5, 20, [["PENNY", 1.01], ["NICKEL", 2.05], ["DIME", 3.1], ["QUARTER", 4.25], ["ONE", 90], ["FIVE", 55], ["TEN", 20], ["TWENTY", 60], ["ONE HUNDRED", 100]])` має повертати `{status: "OPEN", change: [["QUARTER", 0.5]]}`.
|
||||
|
||||
```js
|
||||
assert.deepEqual(
|
||||
@@ -80,7 +80,7 @@ assert.deepEqual(
|
||||
);
|
||||
```
|
||||
|
||||
`checkCashRegister(3.26, 100, [["PENNY", 1.01], ["NICKEL", 2.05], ["DIME", 3.1], ["QUARTER", 4.25], ["ONE", 90], ["FIVE", 55], ["TEN", 20], ["TWENTY", 60], ["ONE HUNDRED", 100]])` повинен повертати `{status: "OPEN", change: [["TWENTY", 60], ["TEN", 20], ["FIVE", 15], ["ONE", 1], ["QUARTER", 0.5], ["DIME", 0.2], ["PENNY", 0.04]]}`.
|
||||
`checkCashRegister(3.26, 100, [["PENNY", 1.01], ["NICKEL", 2.05], ["DIME", 3.1], ["QUARTER", 4.25], ["ONE", 90], ["FIVE", 55], ["TEN", 20], ["TWENTY", 60], ["ONE HUNDRED", 100]])` має повертати `{status: "OPEN", change: [["TWENTY", 60], ["TEN", 20], ["FIVE", 15], ["ONE", 1], ["QUARTER", 0.5], ["DIME", 0.2], ["PENNY", 0.04]]}`.
|
||||
|
||||
```js
|
||||
assert.deepEqual(
|
||||
@@ -110,7 +110,7 @@ assert.deepEqual(
|
||||
);
|
||||
```
|
||||
|
||||
`checkCashRegister(19.5, 20, [["PENNY", 0.01], ["NICKEL", 0], ["DIME", 0], ["QUARTER", 0], ["ONE", 0], ["FIVE", 0], ["TEN", 0], ["TWENTY", 0], ["ONE HUNDRED", 0]])` повинен повертати `{status: "INSUFFICIENT_FUNDS", change: []}`.
|
||||
`checkCashRegister(19.5, 20, [["PENNY", 0.01], ["NICKEL", 0], ["DIME", 0], ["QUARTER", 0], ["ONE", 0], ["FIVE", 0], ["TEN", 0], ["TWENTY", 0], ["ONE HUNDRED", 0]])` має повертати `{status: "INSUFFICIENT_FUNDS", change: []}`.
|
||||
|
||||
```js
|
||||
assert.deepEqual(
|
||||
@@ -129,7 +129,7 @@ assert.deepEqual(
|
||||
);
|
||||
```
|
||||
|
||||
`checkCashRegister(19.5, 20, [["PENNY", 0.01], ["NICKEL", 0], ["DIME", 0], ["QUARTER", 0], ["ONE", 1], ["FIVE", 0], ["TEN", 0], ["TWENTY", 0], ["ONE HUNDRED", 0]])` повинен повертати `{status: "INSUFFICIENT_FUNDS", change: []}`.
|
||||
`checkCashRegister(19.5, 20, [["PENNY", 0.01], ["NICKEL", 0], ["DIME", 0], ["QUARTER", 0], ["ONE", 1], ["FIVE", 0], ["TEN", 0], ["TWENTY", 0], ["ONE HUNDRED", 0]])` має повертати `{status: "INSUFFICIENT_FUNDS", change: []}`.
|
||||
|
||||
```js
|
||||
assert.deepEqual(
|
||||
@@ -148,7 +148,7 @@ assert.deepEqual(
|
||||
);
|
||||
```
|
||||
|
||||
`checkCashRegister(19.5, 20, [["PENNY", 0.5], ["NICKEL", 0], ["DIME", 0], ["QUARTER", 0], ["ONE", 0], ["FIVE", 0], ["TEN", 0], ["TWENTY", 0], ["ONE HUNDRED", 0]])` повинен повертати `{status: "CLOSED", change: [["PENNY", 0.5], ["NICKEL", 0], ["DIME", 0], ["QUARTER", 0], ["ONE", 0], ["FIVE", 0], ["TEN", 0], ["TWENTY", 0], ["ONE HUNDRED", 0]]}`.
|
||||
`checkCashRegister(19.5, 20, [["PENNY", 0.5], ["NICKEL", 0], ["DIME", 0], ["QUARTER", 0], ["ONE", 0], ["FIVE", 0], ["TEN", 0], ["TWENTY", 0], ["ONE HUNDRED", 0]])` має повертати `{status: "CLOSED", change: [["PENNY", 0.5], ["NICKEL", 0], ["DIME", 0], ["QUARTER", 0], ["ONE", 0], ["FIVE", 0], ["TEN", 0], ["TWENTY", 0], ["ONE HUNDRED", 0]]}`.
|
||||
|
||||
```js
|
||||
assert.deepEqual(
|
||||
|
||||
@@ -10,7 +10,7 @@ dashedName: build-a-palindrome-checker
|
||||
|
||||
Поверніть `true`, якщо заданий рядок є паліндромом. В іншому випадку, поверніть `false`.
|
||||
|
||||
<dfn>Паліндром</dfn> – це слово чи речення, що однаково пишеться в обох напрямках (зліва направо та справа наліво), незважаючи на розділові знаки, велику/малу літеру чи пробіли.
|
||||
<dfn>Паліндром</dfn> — це слово чи речення, що однаково пишеться в обох напрямках (зліва направо та справа наліво), незважаючи на розділові знаки, велику/малу літеру чи пробіли.
|
||||
|
||||
**Примітка:** вам потрібно прибрати **всі неалфавітні символи** (розділові знаки, пробіли та символи) і написати весь текст одинаково (великими або малими літерами) для перевірки паліндромів.
|
||||
|
||||
@@ -20,79 +20,79 @@ dashedName: build-a-palindrome-checker
|
||||
|
||||
# --hints--
|
||||
|
||||
`palindrome("eye")` повинен повертати булеве значення.
|
||||
`palindrome("eye")` має повертати булеве значення.
|
||||
|
||||
```js
|
||||
assert(typeof palindrome('eye') === 'boolean');
|
||||
```
|
||||
|
||||
`palindrome("eye")` повинен повертати `true`.
|
||||
`palindrome("eye")` має повертати `true`.
|
||||
|
||||
```js
|
||||
assert(palindrome('eye') === true);
|
||||
```
|
||||
|
||||
`palindrome("_eye")` повинен повертати `true`.
|
||||
`palindrome("_eye")` має повертати `true`.
|
||||
|
||||
```js
|
||||
assert(palindrome('_eye') === true);
|
||||
```
|
||||
|
||||
`palindrome("race car")` повинен повертати `true`.
|
||||
`palindrome("race car")` має повертати `true`.
|
||||
|
||||
```js
|
||||
assert(palindrome('race car') === true);
|
||||
```
|
||||
|
||||
`palindrome("not a palindrome")` повинен повертати `false`.
|
||||
`palindrome("not a palindrome")` має повертати `false`.
|
||||
|
||||
```js
|
||||
assert(palindrome('not a palindrome') === false);
|
||||
```
|
||||
|
||||
`palindrome("A man, a plan, a canal. Panama")` повинен повертати `true`.
|
||||
`palindrome("A man, a plan, a canal. Panama")` має повертати `true`.
|
||||
|
||||
```js
|
||||
assert(palindrome('A man, a plan, a canal. Panama') === true);
|
||||
```
|
||||
|
||||
`palindrome("never odd or even")` повинен повертати `true`.
|
||||
`palindrome("never odd or even")` має повертати `true`.
|
||||
|
||||
```js
|
||||
assert(palindrome('never odd or even') === true);
|
||||
```
|
||||
|
||||
`palindrome("nope")` повинен повертати `false`.
|
||||
`palindrome("nope")` має повертати `false`.
|
||||
|
||||
```js
|
||||
assert(palindrome('nope') === false);
|
||||
```
|
||||
|
||||
`palindrome("almostomla")` повинен повертати `false`.
|
||||
`palindrome("almostomla")` має повертати `false`.
|
||||
|
||||
```js
|
||||
assert(palindrome('almostomla') === false);
|
||||
```
|
||||
|
||||
`palindrome("My age is 0, 0 si ega ym.")` повинен повертати `true`.
|
||||
`palindrome("My age is 0, 0 si ega ym.")` має повертати `true`.
|
||||
|
||||
```js
|
||||
assert(palindrome('My age is 0, 0 si ega ym.') === true);
|
||||
```
|
||||
|
||||
`palindrome("1 eye for of 1 eye.")` повинен повертати `false`.
|
||||
`palindrome("1 eye for of 1 eye.")` має повертати `false`.
|
||||
|
||||
```js
|
||||
assert(palindrome('1 eye for of 1 eye.') === false);
|
||||
```
|
||||
|
||||
`palindrome("0_0 (: /-\ :) 0-0")` повинен повертати `true`.
|
||||
`palindrome("0_0 (: /-\ :) 0-0")` має повертати `true`.
|
||||
|
||||
```js
|
||||
assert(palindrome('0_0 (: /- :) 0-0') === true);
|
||||
```
|
||||
|
||||
`palindrome("five|\_/|four")` повинен повертати `false`.
|
||||
`palindrome("five|\_/|four")` має повертати `false`.
|
||||
|
||||
```js
|
||||
assert(palindrome('five|_/|four') === false);
|
||||
|
||||
@@ -30,157 +30,157 @@ dashedName: build-a-roman-numeral-converter
|
||||
|
||||
# --hints--
|
||||
|
||||
`convertToRoman(2)` повинен повертати рядок `II`.
|
||||
`convertToRoman(2)` має повертати рядок `II`.
|
||||
|
||||
```js
|
||||
assert.deepEqual(convertToRoman(2), 'II');
|
||||
```
|
||||
|
||||
`convertToRoman(3)` повинен повертати рядок `III`.
|
||||
`convertToRoman(3)` має повертати рядок `III`.
|
||||
|
||||
```js
|
||||
assert.deepEqual(convertToRoman(3), 'III');
|
||||
```
|
||||
|
||||
`convertToRoman(4)` повинен повертати рядок `IV`.
|
||||
`convertToRoman(4)` має повертати рядок `IV`.
|
||||
|
||||
```js
|
||||
assert.deepEqual(convertToRoman(4), 'IV');
|
||||
```
|
||||
|
||||
`convertToRoman(5)` повинен повертати рядок `V`.
|
||||
`convertToRoman(5)` має повертати рядок `V`.
|
||||
|
||||
```js
|
||||
assert.deepEqual(convertToRoman(5), 'V');
|
||||
```
|
||||
|
||||
`convertToRoman(9)` повинен повертати рядок `IX`.
|
||||
`convertToRoman(9)` має повертати рядок `IX`.
|
||||
|
||||
```js
|
||||
assert.deepEqual(convertToRoman(9), 'IX');
|
||||
```
|
||||
|
||||
`convertToRoman(12)` повинен повертати рядок `XII`.
|
||||
`convertToRoman(12)` має повертати рядок `XII`.
|
||||
|
||||
```js
|
||||
assert.deepEqual(convertToRoman(12), 'XII');
|
||||
```
|
||||
|
||||
`convertToRoman(16)` повинен повертати рядок `XVI`.
|
||||
`convertToRoman(16)` має повертати рядок `XVI`.
|
||||
|
||||
```js
|
||||
assert.deepEqual(convertToRoman(16), 'XVI');
|
||||
```
|
||||
|
||||
`convertToRoman(29)` повинен повертати рядок `XXIX`.
|
||||
`convertToRoman(29)` має повертати рядок `XXIX`.
|
||||
|
||||
```js
|
||||
assert.deepEqual(convertToRoman(29), 'XXIX');
|
||||
```
|
||||
|
||||
`convertToRoman(44)` повинен повертати рядок `XLIV`.
|
||||
`convertToRoman(44)` має повертати рядок `XLIV`.
|
||||
|
||||
```js
|
||||
assert.deepEqual(convertToRoman(44), 'XLIV');
|
||||
```
|
||||
|
||||
`convertToRoman(45)` повинен повертати рядок `XLV`.
|
||||
`convertToRoman(45)` має повертати рядок `XLV`.
|
||||
|
||||
```js
|
||||
assert.deepEqual(convertToRoman(45), 'XLV');
|
||||
```
|
||||
|
||||
`convertToRoman(68)` повинен повертати рядок `LXVIII`
|
||||
`convertToRoman(68)` має повертати рядок `LXVIII`
|
||||
|
||||
```js
|
||||
assert.deepEqual(convertToRoman(68), 'LXVIII');
|
||||
```
|
||||
|
||||
`convertToRoman(83)` повинен повертати рядок `LXXXIII`
|
||||
`convertToRoman(83)` має повертати рядок `LXXXIII`
|
||||
|
||||
```js
|
||||
assert.deepEqual(convertToRoman(83), 'LXXXIII');
|
||||
```
|
||||
|
||||
`convertToRoman(97)` повинен повертати рядок `XCVII`
|
||||
`convertToRoman(97)` має повертати рядок `XCVII`
|
||||
|
||||
```js
|
||||
assert.deepEqual(convertToRoman(97), 'XCVII');
|
||||
```
|
||||
|
||||
`convertToRoman(99)` повинен повертати рядок `XCIX`
|
||||
`convertToRoman(99)` має повертати рядок `XCIX`
|
||||
|
||||
```js
|
||||
assert.deepEqual(convertToRoman(99), 'XCIX');
|
||||
```
|
||||
|
||||
`convertToRoman(400)` повинен повертати рядок `CD`
|
||||
`convertToRoman(400)` має повертати рядок `CD`
|
||||
|
||||
```js
|
||||
assert.deepEqual(convertToRoman(400), 'CD');
|
||||
```
|
||||
|
||||
`convertToRoman(500)` повинен повертати рядок `D`
|
||||
`convertToRoman(500)` має повертати рядок `D`
|
||||
|
||||
```js
|
||||
assert.deepEqual(convertToRoman(500), 'D');
|
||||
```
|
||||
|
||||
`convertToRoman(501)` повинен повертати рядок `DI`
|
||||
`convertToRoman(501)` має повертати рядок `DI`
|
||||
|
||||
```js
|
||||
assert.deepEqual(convertToRoman(501), 'DI');
|
||||
```
|
||||
|
||||
`convertToRoman(649)` повинен повертати рядок `DCXLIX`
|
||||
`convertToRoman(649)` має повертати рядок `DCXLIX`
|
||||
|
||||
```js
|
||||
assert.deepEqual(convertToRoman(649), 'DCXLIX');
|
||||
```
|
||||
|
||||
`convertToRoman(798)` повинен повертати рядок `DCCXCVIII`
|
||||
`convertToRoman(798)` має повертати рядок `DCCXCVIII`
|
||||
|
||||
```js
|
||||
assert.deepEqual(convertToRoman(798), 'DCCXCVIII');
|
||||
```
|
||||
|
||||
`convertToRoman(891)` повинен повертати рядок `DCCCXCI`
|
||||
`convertToRoman(891)` має повертати рядок `DCCCXCI`
|
||||
|
||||
```js
|
||||
assert.deepEqual(convertToRoman(891), 'DCCCXCI');
|
||||
```
|
||||
|
||||
`convertToRoman(1000)` повинен повертати рядок `M`
|
||||
`convertToRoman(1000)` має повертати рядок `M`
|
||||
|
||||
```js
|
||||
assert.deepEqual(convertToRoman(1000), 'M');
|
||||
```
|
||||
|
||||
`convertToRoman(1004)` повинен повертати рядок `MIV`
|
||||
`convertToRoman(1004)` має повертати рядок `MIV`
|
||||
|
||||
```js
|
||||
assert.deepEqual(convertToRoman(1004), 'MIV');
|
||||
```
|
||||
|
||||
`convertToRoman(1006)` повинен повертати рядок `MVI`
|
||||
`convertToRoman(1006)` має повертати рядок `MVI`
|
||||
|
||||
```js
|
||||
assert.deepEqual(convertToRoman(1006), 'MVI');
|
||||
```
|
||||
|
||||
`convertToRoman(1023)` повинен повертати рядок `MXXIII`
|
||||
`convertToRoman(1023)` має повертати рядок `MXXIII`
|
||||
|
||||
```js
|
||||
assert.deepEqual(convertToRoman(1023), 'MXXIII');
|
||||
```
|
||||
|
||||
`convertToRoman(2014)` повинен повертати рядок `MMXIV`
|
||||
`convertToRoman(2014)` має повертати рядок `MMXIV`
|
||||
|
||||
```js
|
||||
assert.deepEqual(convertToRoman(2014), 'MMXIV');
|
||||
```
|
||||
|
||||
`convertToRoman(3999)` повинен повертати рядок `MMMCMXCIX`
|
||||
`convertToRoman(3999)` має повертати рядок `MMMCMXCIX`
|
||||
|
||||
```js
|
||||
assert.deepEqual(convertToRoman(3999), 'MMMCMXCIX');
|
||||
|
||||
@@ -14,179 +14,179 @@ dashedName: build-a-telephone-number-validator
|
||||
|
||||
<blockquote>555-555-5555<br>(555)555-5555<br>(555) 555-5555<br>555 555 5555<br>5555555555<br>1 555 555 5555</blockquote>
|
||||
|
||||
У цьому завданні вам буде надано рядок, наприклад `800-692-7753` або `8oo-six427676;laskdjf`. Ваше завдання – підтвердити або відхилити мобільний номер США на основі будь-якої комбінації форматів, наданих вище. Код зони нумерації є обов'язковим. Якщо надано телефонний код країни, то ви повинні підтвердити, що телефонний код країни – `1`. Поверніть `true`, якщо рядок є дійсним мобільним номером США; в іншому випадку поверніть `false`.
|
||||
У цьому завданні вам буде надано рядок, наприклад `800-692-7753` або `8oo-six427676;laskdjf`. Ваше завдання — підтвердити або відхилити мобільний номер США на основі будь-якої комбінації форматів, наданих вище. Код зони нумерації є обов’язковим. Якщо надано телефонний код країни, то ви повинні підтвердити, що телефонний код країни — `1`. Поверніть `true`, якщо рядок є дійсним мобільним номером США; в іншому випадку поверніть `false`.
|
||||
|
||||
# --hints--
|
||||
|
||||
`telephoneCheck("555-555-5555")` повинен повертати булеве значення.
|
||||
`telephoneCheck("555-555-5555")` має повертати булеве значення.
|
||||
|
||||
```js
|
||||
assert(typeof telephoneCheck('555-555-5555') === 'boolean');
|
||||
```
|
||||
|
||||
`telephoneCheck("1 555-555-5555")` повинен повертати `true`.
|
||||
`telephoneCheck("1 555-555-5555")` має повертати `true`.
|
||||
|
||||
```js
|
||||
assert(telephoneCheck('1 555-555-5555') === true);
|
||||
```
|
||||
|
||||
`telephoneCheck("1 (555) 555-5555")` повинен повертати `true`.
|
||||
`telephoneCheck("1 (555) 555-5555")` має повертати `true`.
|
||||
|
||||
```js
|
||||
assert(telephoneCheck('1 (555) 555-5555') === true);
|
||||
```
|
||||
|
||||
`telephoneCheck("5555555555")` повинен повертати `true`.
|
||||
`telephoneCheck("5555555555")` має повертати `true`.
|
||||
|
||||
```js
|
||||
assert(telephoneCheck('5555555555') === true);
|
||||
```
|
||||
|
||||
`telephoneCheck("555-555-5555")` повинен повертати `true`.
|
||||
`telephoneCheck("555-555-5555")` має повертати `true`.
|
||||
|
||||
```js
|
||||
assert(telephoneCheck('555-555-5555') === true);
|
||||
```
|
||||
|
||||
`telephoneCheck("(555)555-5555")` повинен повертати `true`.
|
||||
`telephoneCheck("(555)555-5555")` має повертати `true`.
|
||||
|
||||
```js
|
||||
assert(telephoneCheck('(555)555-5555') === true);
|
||||
```
|
||||
|
||||
`telephoneCheck("1(555)555-5555")` повинен повертати `true`.
|
||||
`telephoneCheck("1(555)555-5555")` має повертати `true`.
|
||||
|
||||
```js
|
||||
assert(telephoneCheck('1(555)555-5555') === true);
|
||||
```
|
||||
|
||||
`telephoneCheck("555-5555")` повинен повертати `false`.
|
||||
`telephoneCheck("555-5555")` має повертати `false`.
|
||||
|
||||
```js
|
||||
assert(telephoneCheck('555-5555') === false);
|
||||
```
|
||||
|
||||
`telephoneCheck("5555555")` повинен повертати `false`.
|
||||
`telephoneCheck("5555555")` має повертати `false`.
|
||||
|
||||
```js
|
||||
assert(telephoneCheck('5555555') === false);
|
||||
```
|
||||
|
||||
`telephoneCheck("1 555)555-5555")` повинен повертати `false`.
|
||||
`telephoneCheck("1 555)555-5555")` має повертати `false`.
|
||||
|
||||
```js
|
||||
assert(telephoneCheck('1 555)555-5555') === false);
|
||||
```
|
||||
|
||||
`telephoneCheck("1 555 555 5555")` повинен повертати `true`.
|
||||
`telephoneCheck("1 555 555 5555")` має повертати `true`.
|
||||
|
||||
```js
|
||||
assert(telephoneCheck('1 555 555 5555') === true);
|
||||
```
|
||||
|
||||
`telephoneCheck("1 456 789 4444")` повинен повертати `true`.
|
||||
`telephoneCheck("1 456 789 4444")` має повертати `true`.
|
||||
|
||||
```js
|
||||
assert(telephoneCheck('1 456 789 4444') === true);
|
||||
```
|
||||
|
||||
`telephoneCheck("123**&!!asdf#")` повинен повертати `false`.
|
||||
`telephoneCheck("123**&!!asdf#")` має повертати `false`.
|
||||
|
||||
```js
|
||||
assert(telephoneCheck('123**&!!asdf#') === false);
|
||||
```
|
||||
|
||||
`telephoneCheck("55555555")` повинен повертати `false`.
|
||||
`telephoneCheck("55555555")` має повертати `false`.
|
||||
|
||||
```js
|
||||
assert(telephoneCheck('55555555') === false);
|
||||
```
|
||||
|
||||
`telephoneCheck("(6054756961)")` повинен повертати `false`.
|
||||
`telephoneCheck("(6054756961)")` має повертати `false`.
|
||||
|
||||
```js
|
||||
assert(telephoneCheck('(6054756961)') === false);
|
||||
```
|
||||
|
||||
`telephoneCheck("2 (757) 622-7382")` повинен повертати `false`.
|
||||
`telephoneCheck("2 (757) 622-7382")` має повертати `false`.
|
||||
|
||||
```js
|
||||
assert(telephoneCheck('2 (757) 622-7382') === false);
|
||||
```
|
||||
|
||||
`telephoneCheck("0 (757) 622-7382")` повинен повертати `false`.
|
||||
`telephoneCheck("0 (757) 622-7382")` має повертати `false`.
|
||||
|
||||
```js
|
||||
assert(telephoneCheck('0 (757) 622-7382') === false);
|
||||
```
|
||||
|
||||
`telephoneCheck("-1 (757) 622-7382")` повинен повертати `false`.
|
||||
`telephoneCheck("-1 (757) 622-7382")` має повертати `false`.
|
||||
|
||||
```js
|
||||
assert(telephoneCheck('-1 (757) 622-7382') === false);
|
||||
```
|
||||
|
||||
`telephoneCheck("2 757 622-7382")` повинен повертати `false`.
|
||||
`telephoneCheck("2 757 622-7382")` має повертати `false`.
|
||||
|
||||
```js
|
||||
assert(telephoneCheck('2 757 622-7382') === false);
|
||||
```
|
||||
|
||||
`telephoneCheck("10 (757) 622-7382")` повинен повертати `false`.
|
||||
`telephoneCheck("10 (757) 622-7382")` має повертати `false`.
|
||||
|
||||
```js
|
||||
assert(telephoneCheck('10 (757) 622-7382') === false);
|
||||
```
|
||||
|
||||
`telephoneCheck("27576227382")` повинен повертати `false`.
|
||||
`telephoneCheck("27576227382")` має повертати `false`.
|
||||
|
||||
```js
|
||||
assert(telephoneCheck('27576227382') === false);
|
||||
```
|
||||
|
||||
`telephoneCheck("(275)76227382")` повинен повертати `false`.
|
||||
`telephoneCheck("(275)76227382")` має повертати `false`.
|
||||
|
||||
```js
|
||||
assert(telephoneCheck('(275)76227382') === false);
|
||||
```
|
||||
|
||||
`telephoneCheck("2(757)6227382")` повинен повертати `false`.
|
||||
`telephoneCheck("2(757)6227382")` має повертати `false`.
|
||||
|
||||
```js
|
||||
assert(telephoneCheck('2(757)6227382') === false);
|
||||
```
|
||||
|
||||
`telephoneCheck("2(757)622-7382")` повинен повертати `false`.
|
||||
`telephoneCheck("2(757)622-7382")` має повертати `false`.
|
||||
|
||||
```js
|
||||
assert(telephoneCheck('2(757)622-7382') === false);
|
||||
```
|
||||
|
||||
`telephoneCheck("555)-555-5555")` повинен повертати `false`.
|
||||
`telephoneCheck("555)-555-5555")` має повертати `false`.
|
||||
|
||||
```js
|
||||
assert(telephoneCheck('555)-555-5555') === false);
|
||||
```
|
||||
|
||||
`telephoneCheck("(555-555-5555")` повинен повертати `false`.
|
||||
`telephoneCheck("(555-555-5555")` має повертати `false`.
|
||||
|
||||
```js
|
||||
assert(telephoneCheck('(555-555-5555') === false);
|
||||
```
|
||||
|
||||
`telephoneCheck("(555)5(55?)-5555")` повинен повертати `false`.
|
||||
`telephoneCheck("(555)5(55?)-5555")` має повертати `false`.
|
||||
|
||||
```js
|
||||
assert(telephoneCheck('(555)5(55?)-5555') === false);
|
||||
```
|
||||
|
||||
`telephoneCheck("55 55-55-555-5")` повинен повертати `false`.
|
||||
`telephoneCheck("55 55-55-555-5")` має повертати `false`.
|
||||
|
||||
```js
|
||||
assert(telephoneCheck('55 55-55-555-5') === false);
|
||||
```
|
||||
|
||||
`telephoneCheck("11 555-555-5555")` повинен повертати `false`.
|
||||
`telephoneCheck("11 555-555-5555")` має повертати `false`.
|
||||
|
||||
```js
|
||||
assert(telephoneCheck('11 555-555-5555') === false);
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
"cvh4x7": "Modifica il codice solo sotto questa riga",
|
||||
"lvmnm7": "Apri una nuova scheda per i meme di gatti",
|
||||
"avpx79": "Apri la console del tuo browser.",
|
||||
"0b5ps6": "Padding between the SVG boundary and the plot",
|
||||
"0b5ps6": "Padding tra il bordo dell'SVG e il grafico",
|
||||
"uemoej": "Inserisce n zeri nella riga corrente per creare le colonne",
|
||||
"lm86nf": "Inserisce nell'array la riga corrente, che ora ha n zeri in al suo interno",
|
||||
"qscelx": "I metodi Redux sono disponibili da un oggetto Redux",
|
||||
|
||||
Reference in New Issue
Block a user