2 / 6
Oct 2020

Hej, podczas rozwiązywania zadania z przedszkolanką natrafiłem na przeszkodę z pętlą while. Może mi ktoś powiedzieć dlaczego ta pętla nie działa? Kod w linku https://ideone.com/hR7pL719 Z góry dziękuję

  • created

    Oct '20
  • last reply

    Oct '20
  • 5

    replies

  • 772

    views

  • 3

    users

  • 1

    like

  • 3

    links

Hej, zamiast if i else powinieneś w pętli while mieć kolejne 2 pętle while. Obecnie pętla będzie działać w nieskończoność.

Te same warunki, tylko zamiast if i zamiast else while.

Mój kod do tego zadania w Pythonie, gdybyś chciał podejrzeć.

Problem w moim kodzie był taki, że nie otrzymywałem żadnego output’u. Zainspirowany kodem jarekish’a dałem w moim kodzie zamiast “d1= d1+c1” (gdzie c1 == d1) zamiast “d1 = d1+d1”. Kod po tej zmianie działa i spoj go przyjął nawet z pętlą if. Nie rozumiem natomiast dlaczego “d1 = d1+d1” jest błędne…

W zadaniu są dwie zmienne, nazwijmy je A i B.
Rozwiązanie polega na tym, aby sprowadzić wartość A i B do tej samej liczby.
Gdy w powtórzeniu pętli zrobisz A = A + A (np. 5 = 5 + 5), A będzie się równało 10, czyli w kolejnym powtórzeniu, gdzie aby rozwiązać zadanie trzeba zrobić operację 10 = 10 + 5, twój program zrobi 10 = 10 + 10, bo A zostało zastąpione.

c1 nie równa się d1. c1 to wejściowa wartość, którą chcesz ciągle dodawać do liczby.

po kolei to by wyglądało tak:
d1(5) = d1(5) + c1(5)
d1(10) = d1(10) + c1(5)
d1(15) = d1(15) + c1(5)

gdy nie zastosujesz c1:
d1(5) = d1(5) + d1(5)
d1(10) = d1(10) + d1(10)
d1(20) = d1(20) + d1(20)