Kezdőoldal » Számítástechnika » Programozás » Hogyan adjuk meg pythonban,...

Hogyan adjuk meg pythonban, hogy volt-e olyan eset, amikor a használó által beírt két egymást követő szám egymás osztója volt?

Figyelt kérdés

A feladat:

Kérjünk be a felhasználótól egész számokat addig, amíg 0-t nem kapunk!

Adjuk meg, hogy volt-e olyan eset, amikor két egymást követő szám egymás osztója volt!

Az eredményt a bekérések után, a program végén írjuk ki!

Ne használjunk listát vagy más adatszerkezetet, csak egyszerű változókat!


Erre sikerült jutnom, de mindig azt adja ki, hogy van, még ha rossz számokat írok is be és fogalmam sincs mi a probléma. Hálás vagyok bármilyen segítségnek!


szam1 = int(input("Adjon meg egy egész számot (0 az utolsó)! "))

szam2 = None

osztok = False


if szam1 != 0:

szam2 = int(input("2Adjon meg egy következő egész számot (0 az utolsó)! "))

if szam2 != 0:

if szam1 % szam2 == 0:

osztok = True

else:

osztok = False

while szam2 != 0:

szam1 = int(input("3Adjon meg egy egész számot (0 az utolsó)! "))

if szam1 % szam2 == 0:

osztok = True


szam2 = szam1

else:

osztok = False



2021. márc. 16. 16:24
 1/2 anonim ***** válasza:
100%

A cikluson belül nyilván értéket kell adni egy változónak abban az esetben, ha az egyik szám a másiknak az osztója.


Ezért nem szeretem egyébként a pythont, zárójelek (pláne behúzások) nélkül teljesen átláthatatlan, de ránézésre pár dolognak a ciklusbagon belül kellene lennie, de kívül van.

2021. márc. 16. 16:42
Hasznos számodra ez a válasz?
 2/2 tabaki ***** válasza:
100%

Bocs, de így félálomban nem tudom követni a szándékot a behúzások nélküli szövegben, kivált az osztok változó ide-oda állítgatását. False-ra nyilván csak egyszer kell állítanod, a program elején, aztán vagy úgy marad, vagy a megfelelő együttállás bekövetkezése esetén True-ra változtatod. De újra visszaállítani? Minek?

Itt van két kissé eltérő kísérletem, aligha tökéletesek, de hát én sem értek hozzá:


regiszam = 0

szam = -1;

volt = False


regiszam = int(input("Adjon meg egy egész számot (0 az utolsó)! "))

while szam != 0:

      szam = int(input("Adjon meg egy egész számot (0 az utolsó)! "))

      if szam != 0:

            if (regiszam % szam == 0) or (szam % regiszam == 0):

                  volt = True

            else:

                  regiszam = szam


if volt:

      print("Volt.")

else:

      print("Nem volt.")


# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #


regiszam = 0

szam = -1

volt = False


while szam != 0:

      szam = int(input("Adjon meg egy egész számot (0 az utolsó)! "))

      if regiszam != 0 and szam != 0:

                  if (regiszam % szam == 0) or (szam % regiszam == 0):

                        volt = True

      regiszam = szam


if volt:

      print("Volt.")

else:

      print("Nem volt.")

2021. márc. 17. 01:39
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!