Porównania na planszy
Porównywanie tekstów: palindromy i anagramy - Informatyka - technikum klasa 1 (Python)
Plansza pokazuje działanie dwóch wskaźników. Litery stoją w rzędzie, a każda porównana para jest połączona łukiem: **zielonym**, gdy znaki są równe, **czerwonym**, gdy się różnią. Zewnętrzny łuk to pierwsze porównanie (`text[0]` i `text[-1]`), kolejne są coraz płytsze i bliżej środka. W słowie `kalkulak` widać, gdzie palindrom się "psuje".
arrow = Sprite()
arrow.image = 16
arrow.size = 10
world.add(arrow)
def show(text, y):
for i, ch in enumerate(text):
letter = Sprite()
letter.text = ch
letter.size = 12
letter.position = (-90 + 10 * i, y)
world.add(letter)
def link(i, j, depth):
x1 = -90 + 10 * i
x2 = -90 + 10 * j
arrow.pen.on = False
arrow.position = (x1, -10)
arrow.pen.on = True
arrow.position = (x1, -10 - depth)
arrow.position = (x2, -10 - depth)
arrow.position = (x2, -10)
def compare(text):
i = 0
j = len(text) - 1
depth = 8 * (len(text) // 2)
while i < j:
if text[i] == text[j]:
arrow.pen.color = (22, 163, 74)
else:
arrow.pen.color = (220, 38, 38)
link(i, j, depth)
i += 1
j -= 1
depth -= 8
text = "kalkulak"
show(text, 0)
compare(text)Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.
Wszystkie lekcje kursu Informatyka - technikum klasa 1·Zaloguj się, aby zapisać postęp na koncie.