Advertisement
Timkor

atmByOlya

Nov 2nd, 2020
1,999
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // *то что под звездочкой - можно бегло просмотреть, исправлять не нужно!
  2. // Остальное на ваше усмотрение, но все сделано довольно хорошо.)
  3. let allCards = [0,0,0,0,0,0,0,0,0,0]; // можно просто cards. можно заполнить нулями в цикле, если большой массив.)
  4. let cardNum; // точное имя
  5. let sumToAdd; // в контексте этой задачи , в первую очередь, сумма это сумма на всех картах, эту сумму можно назвать "платеж"
  6. let totalSum = 0;  // тогда тут можно будет просто sum
  7. let quntityOfCards = parseInt(prompt("How many cards add to work?", "1-10")); //to work with more than 1 card  неочепятка))
  8.  
  9. for (let k = 0; k < quntityOfCards; k++) {
  10.         cardNum = parseInt(prompt("Choose your card", "0-9")); // вполне можно так! а можно инициализировать cardNum невалидным значением, например -1, чтобы сразу наверняка зайти в вайл, и тогда первый запрос (этот) можно убрать.
  11.  
  12.         while (cardNum < 0 || cardNum > 9) { //*раз уж вы задали довольно высокую планку качества кода скажу, немного забегая наперед, что всякие числа в коде лучше сохранять и использовать как переменные (или константы), потому что 9 - это что за девять? почему именно 9? а если так:  while (cardNum < 0 || cardNum >= allCards.length) или так:
  13. // let numberOfCards = 10; количество карт
  14. // ***
  15. // while (cardNum < 0 || cardNum >= numberOfCards) - то подобных вопросов не возникнет, да и код будет гибче, если захотим изменить количество карт, то нужно будет только саму инициализацию переменной в одном месте кода поменять.
  16.             cardNum = parseInt(prompt("Choose your card", "0-9"));
  17.         }
  18.             sumToAdd = parseInt(prompt("Enter sum to add", "-1000 - 1000"));
  19.         while (sumToAdd < -1000 || sumToAdd > 1000) { // *в последующих ваших взрослых программах, такие числа (как и 9 выше) будут забавно называться "волшебными", именно по той причине, что это их свойство единственное может вполне точно ответить, почему именно это число, и почему не переменная или константа, НО на подготовительном вполне допустимо использование, даже лучше с ними, чтобы сосредоточиться на алгоритме.
  20.             sumToAdd = parseInt(prompt("Enter sum to add", "-1000 - 1000"));
  21.         }
  22.  
  23.             allCards[cardNum] = sumToAdd; // да, это верно. т.к. тут мы окажемся только если введены валидные данные
  24.        
  25. }
  26. for (let i = 0; i < allCards.length; i++) {
  27.             totalSum += parseInt(allCards[i]);
  28.             console.put(allCards[i] + " ");
  29.         }
  30.         console.log();
  31.         console.put("Total sum " + totalSum);
  32. // хорошие стиль и решение, смело двигайтесь дальше!
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement