• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dlaczego pętla wykonuje się w nieskończonosć

Object Storage Arubacloud
+1 głos
192 wizyt
pytanie zadane 30 grudnia 2021 w JavaScript przez SlagEdit Początkujący (380 p.)
        var tak = 10
        var nie = 1
        while(nie<=tak){
            console.log("zgam")
        }

mam pętle która powinna 10 razy wypisać tak, ale ona wypisuje w nieskończonośći, ktoś wie moze dlaczego

2 odpowiedzi

+1 głos
odpowiedź 30 grudnia 2021 przez Pawel1995 Gaduła (3,810 p.)

Ale zapomniałeś zrobić:

tak--;

albo 

nie++;

Ten warunek jest wieczyście spełniany, dlatego to nieskończona pętla ;)

komentarz 30 grudnia 2021 przez SlagEdit Początkujący (380 p.)
Hmm, teraz działa, a wiesz może jak zrobić by było to wyświetla po każdym wykonaniu pętli a nie tylko po jej zakońćzeniu?
komentarz 30 grudnia 2021 przez Wiciorny Ekspert (269,710 p.)
no skoro warunek zachodzi x- razy to x razy zostaje coś wyświetlone, zatem wyświetlenie powinieneś mieć jeśli warunek nie jest spełniony i lub pętla się zakończy, ale wtedy pętla jest niepotrzebna.
1
komentarz 30 grudnia 2021 przez Pawel1995 Gaduła (3,810 p.)

Ale cały czas masz to wyświetlone 10 raz, tyle że jak masz 10 razy pod rząd i nie ma nic pomiędzy to konsola ci scala(zobacz cyfrę obok napisu w konsoli). Zobacz konsole jak zrobisz tak:

var tak = 10
var nie = 1
while(nie<=tak--){
    console.log("zgam2");
    console.log("zgam");
}

 

komentarz 30 grudnia 2021 przez Wiciorny Ekspert (269,710 p.)

smiechłem

var tak = 10
var nie = 1
while(++nie<=tak--){
    console.log("zgam");
}

prawie jak dzielenie przez dwa ^^

–1 głos
odpowiedź 31 grudnia 2021 przez VBService Ekspert (252,740 p.)
edycja 1 stycznia 2022 przez VBService

Ale cały czas masz to wyświetlone 10 raz, tyle że jak masz 10 razy pod rząd i nie ma nic pomiędzy to konsola ci scala(zobacz cyfrę obok napisu w konsoli)

jeżeli z jakiegoś powodu chcesz uniknąć scalania tego samego tekstu przez konsolę, to np.:

var tak = 10
var nie = 1
while (nie <= tak--)
   (tak % 2 == 0) ? console.log("zgam") : console.info("zgam");

lub

var tak = 10, nie = 1, msg = "zgam\n", log = "";
while (nie <= tak--) log += msg;
console.log(log);

 

Podobne pytania

0 głosów
1 odpowiedź 94 wizyt
pytanie zadane 5 lipca 2020 w Python przez BezBarwny Użytkownik (700 p.)
+1 głos
8 odpowiedzi 1,310 wizyt
pytanie zadane 13 grudnia 2015 w C i C++ przez Mateep Użytkownik (850 p.)
0 głosów
1 odpowiedź 153 wizyt
pytanie zadane 12 maja 2016 w JavaScript przez ShiroUmizake Nałogowiec (46,300 p.)

92,554 zapytań

141,399 odpowiedzi

319,535 komentarzy

61,938 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...