Lenne szíves valaki segíteni az alábbi programozási feladatban?
A feladat:
c) Készíts egy alakzat rajzolót, mely egy teknőcöt és egy háromszög méretét várja paraméterként.
A függvény rajzoljon ki 18 darab, a paraméternek megfelelő méretű háromszöget a képernyőre (az előző
függvény segítségével)
A háromszögek rajzolása közt a teknőcöt ne mozgasd el.
A teknőc nézési irányát (teki.setheading(irany)) állíts be a rajzolt háromszög sorszáma * 20-ra.
A színt minden második lépésben változtasd meg. (Pl.: páratlan lépésben fekete, párosban kék)
Azt a függvényt amely a háromszöget rajzolja már sikerült megírnom. A továbbiak viszont nem mennek. A lényeg végülis megvan, csak azt nem tudom, hogy oldjam meg azt h 18x hajtsa végre a háromszögrajzolot, és váltogassa a színeket. Az első gondolatom az volt h elinditok egy for-t 18-al, majd azon belul mégegy for-t szinten 18al, abba pedig egy if-et h a forban lévő 18at maradékosan ossza 2vel és abbol beálitom a szineket, majd a külső forba beteszema háromszögrajzolo függvényt. De ezt nem tudom rendesen beirni. Tudna valaki segiteni?
Előre is köszönöm!
18*18 az 324.
Az kicsit sok lesz.
Elég egy for ciklus és egy elágazás, ahol a ciklusváltozó osztási maradéka határozza meg a színt.
def b_feladat(t,s,c):
import turtle # teknőc modul eléréséhez
ablak = turtle.Screen() # itt fog mászkálni
teki = turtle.Turtle() # egy teki létrehozása
teki.shape("turtle") # Ctrl+Q -val kérd le a súgot
teki.pencolor(c)
for i in range(3):
teki.forward(s)
teki.right(120)
ablak.mainloop() # Ablakbezárásra vár
def c_feladat(t,s,c):
import turtle # teknőc modul eléréséhez
ablak = turtle.Screen() # itt fog mászkálni
teki = turtle.Turtle() # egy teki létrehozása
teki.shape("turtle") # Ctrl+Q -val kérd le a súgot
teki.pencolor(c)
for i in range(18):
if i%2==1:
c="red"
else:
c="green"
b_feladat(t,s,c)
def main():
t = input("TEKI: ")
s = input("Méret: ")
s = float(s)
c_feladat(t,s)
main()
elsőkörben ezzel próbálkoztam, de nem működik
- Írd le a teljes feladatot, ne csak egy kis részletét. Így kb. fogalmunk sincs hogy melyik függvénynek mit kéne csinálnia.
- Programozásban nem elfogadható a "nem működik" válasz. Pontos hibaüzenetet írj, vagy ha nincs ilyen, akkor azt, hogy mit csinál a program, és szerinted mit kéne csinálnia.
- Első körben egy három paraméteres függvényt (c_feladat) két paraméterrel akarsz meghívni, ami nem fog menni.
- Továbbá a teknőc objektumot a függvényen kívül kell elkészíteni, és paraméterként átadni a függvénynek.
- import parancsok a kód elején legyenek egy alkalommal, felesleges teljesítménypazarlás újra és újra beimportálni őket.
Pfuu én már próbálkoztam annyit, hogy azt sem tudom hol vagyok.
ez lenne a feladat:
b) Egy háromszögrajzoló függvényt. A függvény egy teknőcöt, egy méretet és egy színt várjon
paraméterként.
Állítsd be a rajzolás színét a megadott színre.
Ismételd meg háromszor:
Léptesd előre a teknőcöt méret távolsággal.
Fordítsd jobbra 120 fokkal.
Ezt igy oldottam meg, és müködik:
def b_feladat(t,s,c):
import turtle # teknőc modul eléréséhez
ablak = turtle.Screen() # itt fog mászkálni
teki = turtle.Turtle() # egy teki létrehozása
teki.shape("turtle") # Ctrl+Q -val kérd le a súgot
teki.pencolor(c)
for i in range(3):
teki.forward(s)
teki.right(120)
ablak.mainloop() # Ablakbezárásra vár
c) Készíts egy alakzat rajzolót, mely egy teknőcöt és egy háromszög méretét várja paraméterként.
A függvény rajzoljon ki 18 darab, a paraméternek megfelelő méretű háromszöget a képernyőre (az előző
függvény segítségével)
A háromszögek rajzolása közt a teknőcöt ne mozgasd el.
A teknőc nézési irányát (teki.setheading(irany)) állíts be a rajzolt háromszög sorszáma * 20-ra.
A színt minden második lépésben változtasd meg. (Pl.: páratlan lépésben fekete, párosban kék)
Na most a C feladathoz már fogalmam nincs. :S
# -*- coding: cp1250 -*-
import turtle # teknõc modul eléréséhez
ablak = turtle.Screen() # itt fog mászkálni
def b_feladat(teki, meret, szin):
teki.pencolor(szin)
for i in range(3):
teki.forward(meret)
teki.right(120)
def c_feladat(teki, meret):
for i in range(18):
# A teknõc nézési irányát (teki.setheading(irany))
# állíts be a rajzolt háromszög sorszáma * 20-ra.
irany = i * 20
teki.setheading(irany)
if (i % 2) == 1:
szin = "red"
else:
szin = "green"
b_feladat(teki, meret, szin)
def main():
teki = turtle.Turtle() # egy teki létrehozása
teki.shape("turtle") # Ctrl+Q -val kérd le a súgot
s = input("Méret: ")
meret = float(s)
c_feladat(teki, meret)
turtle.mainloop() # Ablakbezárásra vár
if __name__ == '__main__':
main()
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!