Kezdőoldal » Számítástechnika » Programozás » Python-ban hogy írjam ezt...

Python-ban hogy írjam ezt meg? HELP ME

Figyelt kérdés

"Írjon egy programot, ami kiszámolja 13as

szorzótábla első 50 tagját, de csak azokat írja ki,

melyek 7nek

többszörösei."


Na ezt hogy? Elvileg ez csak egy pár soros kód.



2012. szept. 19. 17:11
 1/7 iostream ***** válasza:

Definiáld kérlek a 13-as szorzótáblát, és adok egy egysorost.

Amúgy generátorkifejezéseket kell használni és listaszeletelést.

2012. szept. 19. 17:15
Hasznos számodra ez a válasz?
 2/7 A kérdező kommentje:
Leírnád nekem kérlek, hogy tanuljak belőle?
2012. szept. 19. 17:20
 3/7 anonim ***** válasza:

Ha jó értem a problémádat, akkor a következőt javaslom.


Csináld meg a feladatot papíron, annyiszor, amíg a végrehajtást "gépiesnek" nem érzed. Ha már gépies, írd le a gépies szabályt. Ha megvan a szabály, azt fordítsd át programba.


Tehát a feladat:

Előállítani egy számsort. A számsorban 13 első 50 többszöröse szerepel, de hiányoznak azok, amik nem oszthatóak 7-el. Tehát a számsorban kevesebb mint 50 szám lesz.


Elkezdjük írni a számokat:

1*13=13 (ezt nem írjuk ki mert nem 7 többszörös)

2*13=26 (ezt se írjuk ki)

3*13=39 (nem írjuk ki)

4*13=52 (ezt se)

......

7*13=91 (ezt végre kiírjuk, mert osztahtó 7-el)

....

50*13 (nem írjuk ki)


Hirtelen észrevesszük, hogy 13*valami csak akkor lesz osztható 7-el, ha az a valami 7 többszöröse. Tehát igazából ezt tesszük:

1*7*13

2*7*13

3*7*13

... egészen addig, amíg a szorzat el nem éri az 50*13 at


Ezt kell átfordítani pythonba.


i=1

while i*7*13<=50*13:

__print(i*7*13)

__i=i+1


(a __ jeleket spacéra kell alakítani)


És kész.

2012. szept. 20. 09:09
Hasznos számodra ez a válasz?
 4/7 iostream ***** válasza:

Neeeem, Pythonban nem írunk ciklust.


[x for x in range(0, 50*13, 13) if x%7 == 0]

2012. szept. 20. 09:38
Hasznos számodra ez a válasz?
 5/7 anonim ***** válasza:
100%

'Pythonban nem írunk ciklust. '


Azért ezzel vitatkoznék, de nem itt...


Mindenesetre úgy láttam, hogy a kérdezőnek a feladatelemzéssel és az algoritmus kigondolásával voltak problémái.


Ezt helyre tenni úgy gondolom fontosabb, mint hogy funkcionális vagy procedurális megközelítést alkalmazunk a programozás során.

2012. szept. 20. 15:22
Hasznos számodra ez a válasz?
 6/7 iostream ***** válasza:
Ez így van, ez fontos, és erre is jó a Python. De a Python filozófiáját is érdemes megragadni.
2012. szept. 20. 17:10
Hasznos számodra ez a válasz?
 7/7 A kérdező kommentje:
Köszi a válaszokat! Mentek a zöld kezek! :)
2012. szept. 20. 17:11

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!