Kezdőoldal » Számítástechnika » Programozás » Hogyan tudom megírni ezt a...

Hogyan tudom megírni ezt a scriptet?(Python)

Figyelt kérdés

Adott a feladat:"Írjon egy scriptet, melynek bemenetele két egész szám: a és b. A script kiírja az összes páros kétjegyű számot az [a, b] intervallumon."

Majdnem minden megvan, csak arra nem jöttem még rá, hogy hogyan tudom kiíratni a páros és kétjegyű számokat.

Idáig jutottam:

x1=eval(input("a: "))

x2=eval(input("b: "))

print(list(range(x1,x2,2)))



2020. dec. 13. 19:18
 1/7 anonim ***** válasza:
27%

Nem eval(), hanem int().

Nem elég listává alakítani a range generátort, hanem meg kell vizsgálni a számokat egyesével. Tehát for ciklus kell.

Meg kell nézned, hogy az x1 páros-e, mert ha páratlan, akkor eggyel növelni kell, különben az istennek nem lesznek páros számaid a range-ből. "Gyorsíthatod" a szkriptet, ha nem x1-től, hanem x1 és a legkisebb páros kétjegyű szám maximumától indítod a range-t. Nem x2-ig, hanem x2 és a legnagyobb kétjegyű páros szám plusz 1 minimumáig.

Mutasd meg, ez alapján meddig jutottál...

2020. dec. 13. 19:26
Hasznos számodra ez a válasz?
 2/7 anonim ***** válasza:
65%
És ez mitől lesz 2 jegyű? 2 jegyű számokra 10<= x <= 99 lesz igaz. Én azt tenném, hogy leellenőrizném, hogy x1 -re és x2-re igaz-e a fenti. Ha nem akkor csak a 10-99 tartományt iratnám ki.
2020. dec. 13. 19:28
Hasznos számodra ez a válasz?
 3/7 anonim ***** válasza:
34%
Azt a meg kell nézni egyesével feltételt benéztem, mert arról gondoskodik a 2-esével léptetés. Egyértelműbben is fogalmazhatnál. Attól még a többi amit írtam, helyes.
2020. dec. 13. 19:59
Hasznos számodra ez a válasz?
 4/7 zozo256 ***** válasza:
79%

szia, itt egy megoldás: [link]


Az eval valóban szokatlan, de a feladathoz teljesen jó megoldás. Még annyi kiegészítés az első válaszhoz, hogy a range az nem generátor.

2020. dec. 13. 20:01
Hasznos számodra ez a válasz?
 5/7 anonim ***** válasza:
63%

Nem értek a python hoz.

Csinálsz egy ciklust ami a pl kisebb bekért számtól a nagyobb bekért számig megy. Először lecsekkolod melyik a kisebb. Aztán a páros számokon ugrálva végig kiíratod. A páros ahogy a páratlan számok is egymást követve kettővel következnek egymás után így könnyű dolgod van a kiíratásukkal. Ha az szám páros akkor a következő páros szám a x1+2 ha páratlan akkor is x1+2 de neked a párosak kellenek ezért ha az első szám páratlan akkor (x1+2)-1. Szóval még ciklus előtt meg kell tudni hogy páros e az első e vagy sem. Ha páratlan csinálhatod még azt is hogy megnöveled eggyel ciklus előtt.


// a kisebb megkeresése hogy emelkedő sorrendbe tudd kiíratni.

var lowest

if(x1 < x2)

lowest = x1

else

lowest = x2


if(lowest%2 == 2) //ha páratlan

++lowest // akkor párost csinálsz bele


// a ciklus ami x2 ig fut max.

while(lowest <= x2)

Print(lowest)

lowest+=2 // ugrás a kövi páros számra.

2020. dec. 14. 15:59
Hasznos számodra ez a válasz?
 6/7 anonim ***** válasza:
63%

Előző vagyok elrontottam ezt a sort

if(lowest%2 == 2)


Így helyes

if(lowest%2 == 1)

2020. dec. 14. 16:02
Hasznos számodra ez a válasz?
 7/7 anonim ***** válasza:
63%

Előző vagyok be néztem a feladatot szóval csak azokat a páros számokat kell kiírni amik kétjegyűek.

Tudod egy numerikus érték akkor kétjegyű ha az értéke 10 el egyenlő vagy nagyobb de 100 tól kisebb. Szóval amit fentebb írtam csak ki kell egészíteni egy extra feltételvizsgálattal a megfelelő helyen.


if(lowest>9 && lowest<100)

// Ez egy kétjegyű szám

2020. dec. 14. 20:06
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!