Решение задачки, нигде не могу найти.
Есть у меня задание. Нужно что бы была строка в которую вводишь цифры (например 1,2,3,4 и т.д. можно до 10) можно вводить долго, до тех пор пока не введешь 0. Когда вводишь ноль скрипт останавливается и выдает окно с количеством введенных цифр их общую суму , среднее число, и суму нечетных чисел. Мне бы для начала только количество чисел, а то не получается у меня и не могу найти нигде. Вот код который у меня есть не знаю что дальше писать. Прошу помощи )
<html> <body> <script> do { var n = 1; var n = prompt("Ведите число"); } while (0<n) </script> </body> </html> |
Если не принципиально использование именно prompt, то типа:
<html> <head> <title>Untitled</title> </head> <body> <input id="inp" /> <script> inp=document.getElementById("inp") inp.oninput=function(){ var all = /\d+/g, isZero=/0/g, str=inp.value if(isZero.test(str)) alert(str.match(all).length) } </script> </body> </html> А с prompt такое вряд ли получится, это блокирующая операция, пока юзер не разблокировал нажатием enter, скрипт не сможет читать данные со ввода, если я не ошибаюсь. |
Mr_ZET,
придумать нечто что будет хранить каждое число |
Цитата:
|
рони,
Я понял, да, если вводить по одному то получится, например: <html> <head> <title>Untitled</title> </head> <body> <script> arr=[] isZeroInArr=function(){ var isZero=/0/ arr.forEach(function(el){if(isZero.test(el)||arr.length===10) throw arr.length}) } try{ while(true){ arr.push(prompt("Enter Num: ")) isZeroInArr() } }catch(e){alert(e)} </script> </body> </html> Я просто подумал, что вводить сразу надо. А так неудобно, как-то, трахаться. Но можно, да. |
Mr_ZET,
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> </head> <body> <script> var length = sumOfOddNums = sum = 0; while (n = +prompt("Введите число")) { length++; n % 2 && (sumOfOddNums += n); sum += n; } alert([length,sumOfOddNums,sum, sum/length]) </script> </body> </html> |
Цитата:
можно воспользоваться сриптом от krutoy, только регулярка там будет /\d{1}/g, и когда введут ноль, обрезать его и считать все необходимые параметры. |
Часовой пояс GMT +3, время: 03:24. |