print("\n\nPrint list\n")
def print_items(*items):
"""
print each item on a new line
"""
for item in items:
print(item)
# Example call
print_items("apple", "banana", "cherry")
print("\n\nPrint details\n")
####
def print_details(**details):
"""
print the details, formatted nicely
"""
for key, value in details.items():
print(f"{key}: {value}")
# Example call
print_details(name="Alice", age=25, city="Olomouc")
print("\n\nReduplication\n")
def IsReduplicated(word):
"""
return True is a word is reduplicated
ignore case
"""
parts = word.split("-")
if len(parts) == 2 and parts[0].lower() == parts[1].lower():
return True
else:
return False
# Example calls
for word in ["buku-buku", "rumah"]:
print(f"{word}: {IsReduplicated(word)}")
print("\n\nFind Reduplication\n")
def find_redup(words):
redups = dict()
for w in words:
if IsReduplicated(w):
redups[w.lower()] = redups.get(w.lower(), 0) +1
return redups
# from https://arqu3fiq.blogspot.com/2007/12/kumo-no-ito.html
text = """Ini adalah Chi no Ike di dasar Neraka , tempat
timbul-tenggelamnya Kandata bersama para pendosa lain . Dilihat
dari sudut manapun tempat ini gelap pekat . Terkadang , dari balik
kegelapan , samar-samar terlihat kilauan jaru-jarum dari Bukit
Jarum yang mengerikan . Kengerian yang muncul tidak terperikan .
Ditambah lagi suasananya yang senyap bagai dalam kuburan ,
seringali sayup-sayup hanya terdengar suara lenguhan nafas
para pendosa . Orang-orang yang samapi jatuh ke tempat ini ,
begitu kelelahan oleh berbagai macam siksaan Neraka sampai-sampai
tidak lagi punya tenaga untuk mengeluarkan rintihan derita .
Karenanya , tentu sajasi maling besar Kandata pun sesenggukan
di kubangan darah dalam kolam dan gelagapan persis seperti
katak sekarat yang tidak bisa berbuat apa-apa ."""
redups=find_redup(text.split())
print(redups)
print("\n\nInformal\n")
def informal (words):
infrml = []
for word in words:
if IsReduplicated(word):
### change to non-reduplicated version
word = word.split('-')[0] + '2'
infrml.append(word)
return infrml
informal_text = informal(text.split())
print(informal_text)
print("\n\nUpdate Inventory\n")
def update_inventory(inventory, *new_items):
"""
Updates the inventory with new items.
Returns:
dict: The updated inventory with the new items and their counts.
"""
for item in new_items:
if item in inventory:
inventory[item] += 1
else:
inventory[item] = 1
return inventory
# Example dictionary and function call
current_inventory = {"apple": 2, "banana": 3}
new_inventory = update_inventory(current_inventory, "apple", "banana", "cherry")
print(new_inventory)