Posts

CLOSURE, DECORATOR, GENERATOR

Introduction, playing with anagram Hitung keberadaan semua huruf dalam kata dan simpulkan apakah dua kata yang diberikan berupa anagram atau tidak. Contoh " setec astronomy " adalah anagram dari " too many secrets ". # anagram def is_anagram ( word1 , word2 ) : count1 , count2 = {} , {} space_key = ' ' for word , count in (( word1 , count1 ) , ( word2 , count2 )) : for char in word : count [ char ] = count.get ( char , 0 ) + 1 if space_key in count : count.pop ( space_key ) # ignore spaces if count1 == count2 : return True return False print ( is_anagram ( 'setec astronomy' , 'too many secrets' )) # True Skrip di atas menghitung setiap karakter / huruf dalam kedua kata yang diinputkan ke dalam suatu key/value map yang disebut dictionaries. Dictionaries ini kemudian dibandingkan dan jika isinya sama, maka disimpulkan bahwa kedua kata itu adalah anagram.  Kita akan mengembang...

For Else Loop

Salah satu hal baru yang dikenalkan Python dalam pemrograman terstruktur anti GOTO ialah FOR LOOP dengan klausa ELSE,  sebagai pengembangan dari for-next loop klasik  dan blok percabangan if-then-else biasa. Berikut contoh penggunaan for-else loop dan alternatifnya yang menggunakan jagoan-jagoan Python lainnya, fungsi any, iterable, walrus operator. #for_else_loop for n in range(2, 10):     for x in range(2,n):         if n%x == 0:             print(f'{n} sama dengan {x} * {n//x}')             break     else :         print(f"{n} adalah bilangan prima") #if any, assignment expression, iterable for n in range(2,10):     if any ( n%( f:= x) == 0 for x in range(2,n)):         print(f'{n} sama dengan { f }*{n//f}')         continue     else :         print(f'{n} adalah bilangan prima'...