Kezdőoldal » Számítástechnika » Programozás » Python programozás házi...

Python programozás házi feladat (a megjegyzéseknél a teljes feladat) Valaki? Megköszönném a megoldást:)

Figyelt kérdés

Házi feladat


Készíts programot, mely az alábbiakat hajtja végre! Használd a for ciklust a kiíráshoz az a) és a b) feladatban!


a) Írd ki egymás mellé pontosvesszővel elválasztva az 5-tel osztható kétjegyű számokat!


b) írd ki az előbbieket fordítva, vesszővel elválasztva!


c) Kérjél be egy egész számot egy változóba, és állapítd meg róla, hogy osztható-e 3-mal. Írja is ki hogy, ha osztható, és azt is ha nem!



2023. márc. 5. 15:11
 1/8 anonim ***** válasza:
77%

a) print(";".join([str(x) for x in range(10,100,5)]))


b) print(",".join([str(x) for x in range(95,5,-5)]))


c)


a = input("Írj be egy számot!")

print("A beírt szám", "osztható hárommal." if int(a)%3==0 else "nem osztható hárommal.")

2023. márc. 5. 15:38
Hasznos számodra ez a válasz?
 2/8 anonim ***** válasza:
0%

ChatGPT ezt válaszolta:


a) Az alábbi program kiírja egymás mellé pontosvesszővel elválasztva az 5-tel osztható kétjegyű számokat:


python

Copy code

for i in range(10, 100):

if i % 5 == 0:

print(i, end=";")

b) Az alábbi program kiírja fordítva az előző program kimenetét, vesszővel elválasztva:


python

Copy code

output = ""

for i in range(10, 100):

if i % 5 == 0:

output = str(i) + "," + output

print(output[:-1])

c) Az alábbi program bekér egy egész számot, majd kiírja, hogy az osztható-e 3-mal vagy sem:


python

Copy code

num = int(input("Kérem, adjon meg egy egész számot: "))

if num % 3 == 0:

print(num, "osztható 3-mal.")

else:

print(num, "nem osztható 3-mal.")

Ha a felhasználó például az 5-öt adja meg, akkor a program a következő kimenetet adja:


Copy code

5 nem osztható 3-mal.


(A gyakori szereti kivenni a kommentekből a tabokat, így lehet a válaszban nem fog látszani rendesen, de kélek használd ilyen kérdésekre a ChatGPT-t, simán megold minden ilyen egyszerű feladatot:

[link]

)

2023. márc. 5. 16:34
Hasznos számodra ez a válasz?
 3/8 anonim ***** válasza:
0%

A


"python


Copy code"


Résszel ne foglalkozz, az azért került bele, mert a ChatGPT egy külön lemásolható ablakba rakta bele a választ és amikor az egész oldalt Ctrl + C-tem ez is bele került.

2023. márc. 5. 16:35
Hasznos számodra ez a válasz?
 4/8 anonim ***** válasza:
100%

Azért valahol annak is megvan a bája, hogy kapsz egy prog házit, fogalmad sincs még az alapokról sem, ami ebből a kérdésből tisztán látszik, megoldatod velünk vagy a ChatGPT-vel, aztán beadod a kész megoldást, mintha te csináltad volna. Gyakorlatilag az egész célja veszik el a programozás oktatásnak, mert így mindenki azt fogja hinni, hogy tudsz valamit, de valójában nem tudsz semmit. Így el lehet lavírozni minden feladatot, a végén majd kaphatsz programozói bizonyítványokat, holott azt sem fogod tudni, hogy mi az a ciklus vagy változó.


Gondolom te sem örülnél neki, ha elmennél egy orvoshoz, aki valami oknál fogva végzettséget szerzett, de gyógyítani nem igazán tud, mert ő is lavírozott a feladatokkal, mint te. Aztán "véletlenül" félre kezelne. Gondolom boldog lennél utána nem igaz?


Csak ezt azért írtam le, mert ide vezet az, amit csinálsz barátom.

Egy bármilyen gimiben egy ilyen programozói feladat az kb semmiség, mit akarsz egyáltalán ha ezt sem tudod megoldani? Oké, azt értem, hogy mindenkinek lehetnek fennakadásai, nekem is voltak, meg lesznek is, meg másnak is. Ez stimm, de akkor ne az egész megoldást várd el tőlünk/mástól, hanem például menjél végig lépésről lépésre, és kérj segítséget! De a segítség != komplett megoldás.


Első lépés, tudod mi az a for ciklus? Ha nem, akkor járj utána, hogy eszik vagy isszák, és hogyan kell használni, mit tudsz vele csinálni.


Második lépés, tudod hogy tudsz konzolra logolni? Ha nem, akkor járj utána, vagy kérj segítséget!


Harmadik lépés, hogyan tudod meghatározni, hogy egy szám öttel osztható vagy kétjegyű-e...


És így tovább...


Ebből tanulsz, ez lesz a valódi tudás, és nem az, hogy innen vagy ChatGPT-ről kimásolod a kódot, és azt mondod, hogy te csináltad, és le van tudva az egész. "Másnap" meg kapod majd a Szoftverfejlesztői OKJ-t a semmire.


Nem egy ismerősöm volt, aki totál semmit nem tudott programozni, és OKJ bizonyítványt kapott rá. Pont ilyen és hasonló esetek miatt, mint a te eseted is.

2023. márc. 5. 19:25
Hasznos számodra ez a válasz?
 5/8 anonim ***** válasza:
40%

- Hi


Hello! How can I assist you today?


- Python feladat


Készíts programot, mely az alábbiakat hajtja végre! Használd a for ciklust a kiíráshoz az a) és a b) feladatban!


a) Írd ki egymás mellé pontosvesszővel elválasztva az 5-tel osztható kétjegyű számokat!


b) írd ki az előbbieket fordítva, vesszővel elválasztva!


c) Kérjél be egy egész számot egy változóba, és állapítd meg róla, hogy osztható-e 3-mal. Írja is ki hogy, ha osztható, és azt is ha nem!


Természetesen, íme a Python program a fent említett feladatok megoldásához:


python


# a feladat megoldása

print("a)")

for i in range(10, 100):

if i % 5 == 0:

print(i, end="; ")


print("\n\nb)")

for i in range(99, 9, -1):

if i % 5 == 0:

print(i, end=", ")


print("\n\nc)")

szam = int(input("Kérem adjon meg egy egész számot: "))

if szam % 3 == 0:

print(szam, "osztható 3-mal.")

else:

print(szam, "nem osztható 3-mal.")


A fenti program először kiírja az összes 5-tel osztható kétjegyű számot, majd ugyanezeket a számokat fordítva kiírja, és végül bekér egy egész számot és megállapítja, hogy osztható-e 3-mal vagy sem, és kiírja a megfelelő üzenetet.


- Ahelyett, hogy duplán kiszámoltatnád, inkább tedd bele egy listába, és azt írd ki előre és visszafelé!


Rendben! Itt van egy módosított verzió a programnak, amely egy listába helyezi az összes 5-tel osztható kétjegyű számot, majd kiírja őket egymás mellé pontosvesszővel és vesszővel elválasztva, előre és visszafelé is:


python


# a feladat megoldása

num_list = []


for i in range(10, 100):

if i % 5 == 0:

num_list.append(i)


print("a) ", end="")

for num in num_list:

print(num, end="; ")

print("\n\nb) ", end="")

for i in range(len(num_list)-1, -1, -1):

print(num_list[i], end=", ")


print("\n\nc)")

szam = int(input("Kérem adjon meg egy egész számot: "))

if szam % 3 == 0:

print(szam, "osztható 3-mal.")

else:

print(szam, "nem osztható 3-mal.")


Ez a verzió ugyanazt a kimenetet adja, mint az előző verzió, de a lista használatával hatékonyabb, mivel csak egyszer kell kiszámítani az összes 5-tel osztható számot. A range() függvényt fordítva használva lehetővé teszi, hogy visszafelé iteráljunk a lista elemein.


- Meg tudod oldani a listák .reverse() metódusával is?


Igen, természetesen, itt van a módosított verzió a programnak, amely a reverse() metódust használja a lista megfordításához, és ezáltal kiírja a 5-tel osztható kétjegyű számokat előre és visszafelé is:


python


# a feladat megoldása

num_list = []


for i in range(10, 100):

if i % 5 == 0:

num_list.append(i)


print("a) ", end="")

for num in num_list:

print(num, end="; ")


num_list.reverse()

print("\n\nb) ", end="")

for num in num_list:

print(num, end=", ")


print("\n\nc)")

szam = int(input("Kérem adjon meg egy egész számot: "))

if szam % 3 == 0:

print(szam, "osztható 3-mal.")

else:

print(szam, "nem osztható 3-mal.")


Ez a megoldás is helyes kimenetet ad, és a reverse() metódus használata megfordítja a listát, így a visszafelé kiírás egyszerűen elvégezhető a for ciklus használatával a lista elemein.


- A print join-nal szebb is lehetne.


Igen, az join() metódus használata lehet egy szebb megoldás a feladat kiírásához, és kevesebb kód is szükséges hozzá. Íme egy módosított verzió a programnak, amely az join() metódust használja a lista elemeinek összekapcsolására:


python


# a feladat megoldása

num_list = []


for i in range(10, 100):

if i % 5 == 0:

num_list.append(str(i))


print("a) ", "; ".join(num_list))

print("\n\nb) ", ", ".join(num_list[::-1]))


print("\n\nc)")

szam = int(input("Kérem adjon meg egy egész számot: "))

if szam % 3 == 0:

print(szam, "osztható 3-mal.")

else:

print(szam, "nem osztható 3-mal.")


Ebben a verzióban a for ciklusban létrehozott lista tartalmát először sztringekké alakítjuk, majd az join() metódussal összekapcsoljuk őket a megfelelő elválasztóval. A visszafelé kiíráshoz használtuk a szóköz nélküli szeletelést ([::-1]), hogy megfordítsuk a lista sorrendjét. A harmadik feladat változatlanul marad.


- A for ciklust pedig list comprehension-nel oldanám meg.


Igen, a listakifejezések használata lehet egy másik megoldás a for ciklusok elkerülésére, és egy szebb és rövidebb megoldást eredményezhet. Íme a program módosított verziója, amely list comprehension-t használ a lista létrehozására:


python


# a feladat megoldása

num_list = [str(i) for i in range(10, 100) if i % 5 == 0]


print("a) ", "; ".join(num_list))

print("\n\nb) ", ", ".join(num_list[::-1]))


print("\n\nc)")

szam = int(input("Kérem adjon meg egy egész számot: "))

if szam % 3 == 0:

print(szam, "osztható 3-mal.")

else:

print(szam, "nem osztható 3-mal.")


A list comprehension használata egyszerűsíti a kódot, és a lista elemeit egyszerűen átalakítja sztringekké, ha az adott szám osztható 5-tel. A join() metódusok használata nem változott, és a harmadik feladat változatlanul marad.


- Be tudod küldeni ezt megoldásként a https://www.gyakorikerdesek.hu/tudomanyok__egyeb-kerdesek__1.. oldalra?


Sajnos az én szerepem az, hogy csak programozási kérdésekben tudok segíteni, és nem tudok közvetlenül hozzáférni más weboldalakhoz. Azonban javaslom, hogy másold be a legutolsó verziót, amelyet itt közöltünk, és küldd el az oldalon, hogy megoldásként jelenjen meg a feladatra. Ne felejtsd el, hogy említsd meg, hogy a list comprehension-t használtuk a kódban. Remélem, ez segít!


- Az itteni beszélgetést be lehet valahogy linkelni, hogy nyilvánosan elérhetővé váljon?


Sajnos itt a platformon nincs lehetőség a beszélgetés linkjének megosztására. Azonban, ha szeretnéd, hogy a beszélgetés publikus legyen, akkor azt javaslom, hogy másold ki a teljes beszélgetést, majd hozz létre egy új posztot a tartalmával együtt. Ezt követően bárki hozzáférhet az általad létrehozott poszthoz, és megtekintheti a beszélgetést. A poszt létrehozásához számos platform áll rendelkezésre, például a Reddit, a Facebook vagy a Twitter.


- Köszönöm!


Nagyon szívesen! Bármikor segítséget tudok nyújtani a programozási feladatok megoldásában, ne habozz kérdezni!

2023. márc. 5. 19:58
Hasznos számodra ez a válasz?
 6/8 anonim ***** válasza:
0%
Úgy tűnik a GYK nem túl jó, kiszedi a whitespace-t a sorok elejéről. Az utolsó részletben a két print van beljebb.
2023. márc. 5. 19:59
Hasznos számodra ez a válasz?
 7/8 anonim ***** válasza:
40%

[link]

Feltettem ide.

2023. márc. 5. 20:03
Hasznos számodra ez a válasz?
 8/8 anonim ***** válasza:

4# Szerintem ha a neten kérdezi meg akkor úgy is mindegy.


Nem lesz belőle programozó vagy éppen olyan élethelyetben van, hogy most nem tud rászánni pár órát, hogy megértse a dolgokat.


Rengetegen tanulnak programozást középsuliban és még egyetemen is (bár egy nem egyetemnek tűnik), akiből soha sem lesz programozó. Ha nem megy neki, nem érdekli akkor nem kell erőltetni és ezt nem áll jogomban eldönteni helyette. Csak akkor fog tanulni, ha ő készen áll.


Ha véletlenül programozó akar lenni, akkor meg szimplán sehova sem veszik fel tudás nélkül vagy éppen valami nagyon rossz pozícióban fog tengődni.


Pl.: megy a DunaAszfalthoz 100 éves Java softvert fejleszteni. A normális cégek, mint a Wise, Revolut, Diligent stb... meg első interjún elkaszálják.

2023. márc. 6. 18:42
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!