# Interact Exercise 01

## Import

``````

In [1]:

%matplotlib inline
from matplotlib import pyplot as plt
import numpy as np

``````
``````

In [2]:

from IPython.html.widgets import interact, interactive, fixed
from IPython.html import widgets
from IPython.display import display

``````
``````

:0: FutureWarning: IPython widgets are experimental and may change in the future.

``````

## Interact basics

Write a `print_sum` function that `prints` the sum of its arguments `a` and `b`.

``````

In [5]:

def print_sum(a, b):
"""Print the sum of the arguments a and b."""
print(a+b)

``````

Use the `interact` function to interact with the `print_sum` function.

• `a` should be a floating point slider over the interval `[-10., 10.]` with step sizes of `0.1`
• `b` should be an integer slider the interval [-8, 8] with step sizes of `2`.
``````

In [6]:

interact(print_sum, a=(-10.,10.,.1),
b=widgets.IntSlider(min=-8,max=8,step=2));

``````
``````

-2.0

``````
``````

In [35]:

assert True # leave this for grading the print_sum exercise

``````

Write a function named `print_string` that prints a string and additionally prints the length of that string if a boolean parameter is `True`.

``````

In [20]:

def print_string(s, length=False):
"""Print the string s and optionally its length."""
print(s)
if length==True:
print(len(s))

``````

Use the `interact` function to interact with the `print_string` function.

• `s` should be a textbox with the initial value `"Hello World!"`.
• `length` should be a checkbox with an initial value of `True`.
``````

In [21]:

interact(print_string, s="Hello World!", length=True);

``````
``````

Hello World!
12

``````
``````

In [49]:

assert True # leave this for grading the print_string exercise

``````
``````

In [ ]:

``````