Kezdőoldal » Számítástechnika » Programozás » Hogyan kell pythonban színátme...

Hogyan kell pythonban színátmenetet csinálni?

Figyelt kérdés

Írj függvényt, amely adott méretű négyzetekből (1. paraméter) és adott számú négyzetből (2. paraméter) rajzol egy ilyen színátmenetet!Baloldalán full zöldből megy át a jobb oldalra full pirosba.

eddig juttottam:

import turtle


def sokszog(oldalszam, oldalhossz):

x = 1

while x <= oldalszam:

turtle.forward(oldalhossz)

turtle.left(360.0/oldalszam)

x += 1



turtle.speed(0)

turtle.up()

turtle.back(300)

turtle.down()


n = input ("Hany darab negyzetbol alljon? ")

hossz = input ("Mekkora legyen a negyzet? ")


y = n

while y != 0:

x = 1

while x <= y:

turtle.color(1.0, 0.0, 0.0)

turtle.begin_fill()

sokszog(4, hossz)

turtle.end_fill()

turtle.color("black")

sokszog(4, hossz)

turtle.forward(hossz)

x = x+1

y = y-1



turtle.mainloop()



2016. márc. 31. 18:40
1 2
 1/18 tabaki ***** válasza:

Rakd inkább valami kódfeltöltő oldalra, hogy az indentálás is látható legyen.

[link]


Nálad ez mit csinál? mert nálam semmi láthatót, csak kínozza az ócska gépemet.

2016. márc. 31. 21:56
Hasznos számodra ez a válasz?
 2/18 anonim ***** válasza:
Nálam pedig hibát dob, mivel nem konvertáltad át a bevitt szöveget számmá. Nem tudom hogy próbálkoztál akkor megoldani a feladatot ha le se fut. Rajzold ki először egymás mellé a négyzeteket. A színátmenet csak annyiról szól hogy egyenletesen feldarabolod a [0;1] tartományt és a megfelelő négyzetet a megfelelő színnel színezed: ([0;1], [1;0], 0)
2016. márc. 31. 22:05
Hasznos számodra ez a válasz?
 3/18 tabaki ***** válasza:

Oxi, mégis megvan...


Azt nem látom, hol változtatod a kitöltés színét. Gondolom, 1.0 értéket először le kéne osztanod a kockák színével, és azt az eredetileg 0.0 piroshoz mindig hozzá kéne adnod, az 1.0 zöldből meg le kéne vonnod, vagy valahogy így.

2016. márc. 31. 22:06
Hasznos számodra ez a válasz?
 4/18 tabaki ***** válasza:

+ A fenébe! A kockák SZÁMÁVAL, bocs.

Közben látom, más is megírta.

2016. márc. 31. 22:08
Hasznos számodra ez a válasz?
 5/18 tabaki ***** válasza:

Ha jól sejtem, ez az eredeti tördelés:

[link]

2016. márc. 31. 22:11
Hasznos számodra ez a válasz?
 6/18 anonim ***** válasza:

tabaki: Nem a kockák számával kell leosztani hanem a színátmenetek számával azaz (N-1)-el ha az N a kockák számát jelöli.


3 kocka esetén 1.0/2 a lépésköz, mert 0.0 -> 0.5 -> 1.0 :)


De azt hiszem így már érthető a kérdező számára ha eddig nem értette volna.

2016. márc. 31. 22:27
Hasznos számodra ez a válasz?
 7/18 tabaki ***** válasza:
Igazad van, erre én is rájöttem azóta. Amúgy nem egészen értem, mi ez a két egymásba ágyazott ciklus, miért nem csak egy van. Fölrakjam az én változatomat, vagy oldja meg Kérdező?
2016. márc. 31. 23:00
Hasznos számodra ez a válasz?
 8/18 anonim ***** válasza:
Nekem egyszer kellett egy olyan fuggveny, ami szinatmenetet general egy kiindulo es egy cel szin kozott adott n lepesben. Szerintem tudsz belole otletelni: http://pastebin pont com/ZKKkVUQC
2016. márc. 31. 23:33
Hasznos számodra ez a válasz?
 9/18 tabaki ***** válasza:

@#8:

Gyanúm, hogy Kérdező még nem tart itt... Megjegyzem, én se, nem is ismerem a pythont, de legalább kellően alacsony nívón oldottam meg a feladatot. :)

Azért esz a sárga irigység, pedig nem tűnik túl bonyolultnak a kódod. Nem tudnád beleírni valami rövid programocskába, hogy lássam működés közben?

2016. márc. 31. 23:55
Hasznos számodra ez a válasz?
 10/18 A kérdező kommentje:

Ez a kódom:

[link]


megnéztemm újra és elég egy ciklus

Python 2.7.11-es verzióját használom

még sajnos mindig nincs meg hogy is kell a színátmenetet csinálni

hiába osztom a színátmenetek számával az sem jó

2016. ápr. 1. 00:24
1 2

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!