Pizza ordering system Is there any room for improvements in this code. I am new to programming (python3), learning and practicing functions related to arguments recently.
def make_pizza(*toppings, **pizza_info):

    &quot;&quot;&quot;Creating a dictionary for pizza information&quot;&quot;&quot;
    pizza = {}

    pizza_toppings = [topping for topping in toppings]
    pizza['toppings'] = pizza_toppings

    for key, value in pizza_info.items():
        pizza[key] = value

    return pizza



def show_pizza(pizza):

    &quot;&quot;&quot;Showing the order with the information provided by make_pizza() function.&quot;&quot;&quot;

    print(&quot;You've ordered &quot; + str(pizza['size']) + &quot; inches size &quot; + pizza[
        'crust'].title() + &quot; crust pizza with the toppings of:&quot;)

    for topping in pizza['toppings']:
        print(&quot;-&quot; + topping.title())

# Taking order in a form of dictionary structure 
order = make_pizza('cheese', 'mushroom', size=12, crust='thin')

# Show the order message 
show_pizza(order)
You can use standard copy functions instead of manually copying:
from copy import copy

def make_pizza(*toppings, **pizza_info):
    pizza = pizza_info.copy()
    pizza['toppings'] = copy(toppings)    
    return pizza

And maybe use a dict-comprehension for merging information, instead of mutating the pizza:
def make_pizza(*toppings, **pizza_info):
    return {
        **pizza_info,
        'toppings': copy(toppings)    
    }

For printing, use f-strings for easier formatting:
print(f&quot;You've ordered {pizza['size']} inches size {pizza[
    'crust'].title()} crust pizza with the toppings of:&quot;)