er handmutable types can be more convenient to use where the distinction matterswe will discuss it--for examplein when we discuss setting default arguments for custom functionsin when we discuss listssetsand some other data typesand again in when we show how to create custom data types the right-hand operand for the list +operator must be an iterableif it is not an exception is raisedseeds + traceback (most recent call last)typeerror'intobject is not iterable the correct way to extend list is to use an iterable objectsuch as listseeds +[ seeds ['sesame''sunflower''pumpkin' and of coursethe iterable object used to extend the list can itself have more than one itemseeds +[ "poppy"seeds ['sesame''sunflower''pumpkin' 'poppy'appending plain string--for example"durian"--rather than list containing string["durian"]leads to logical but perhaps surprising resultseeds ["sesame""sunflower""pumpkin"seeds +"durianseeds ['sesame''sunflower''pumpkin'' '' '' '' '' '' 'the list +operator extends the list by appending each item of the iterable it is provided withand since string is an iterablethis leads to each character in the string being appended individually if we use the list append(methodthe argument is always added as single item piece # input/output dealing with runtime errors |to be able to write genuinely useful programs we must be able to read input--for examplefrom the user at the consoleand from files--and produce outputeither to the console or to files we have already made use of python' built-in print(functionalthough we will defer covering it further until chap