Hands On 1¶

Questions¶

  • How do you import a module in python?
  • How do you assign a value to a variable?
  • What is the difference between a = 42 and a == 42
  • How do you call a function?
  • How do you call a function from a module?
  • How do you define a list?
  • What is the difference between res = thing(1) and res = thing[1]?

Tasks¶

  • repeat the things we did, type in the commands yourself and experiment with them.
  • What does the following program print a = -1 b = 2 c, d = b, a print(c > 0)
  • Implement a simple formula from your own domain as a python script.
  • Calculate the mean of the following numbers: 2,3,5,7,11,13
    • manually by tipping the calculation
    • using a list and numpy.mean

Hands On 2¶

Questions¶

  • What does plot([0, 0, 1, 1], [0, 1, 0, 1]) display?
  • What kind of attributes does an object have in python? What is the difference when accessing them?
  • Explain in your own words what this code prints and why: my_list = [1,2,3] my_other_list = my_list my_other_list[1] = 0 print(my_list)
  • What methods are available to get help?
  • How can you add a comment to python code?
  • Slicing also works on lists and strings. Given element = 'oxygen' what do the following commands return:
    • element[:4]
    • element[4:]
    • element[:]
    • element[-1]
    • element[-2]
    • element[1:-1]
  • What is the result of the two print statments in the following code: my_list = [1,2,3] my_array = np.array([1,2,3]) print(my_list * 2) print(my_array * 2)

Tasks¶

  • Repeat the things we did, type in the commands yourself and experiment with them.
  • Replace refugees-europe_0.txt with refugees-europe_1.csv, adapt the call to loadtxt according to the new input format.
  • Get a general idea of the functions provided by numpy. (use tab-completion and the help-system)
  • Plot the refugee population of Germany over the periode from 2000 unitl 2010.
  • Use the axes.set_ylim and array.max to make sure the y axis of your plot starts at 0 and includes all data.
  • Draw a horizontal line into your plot, indicating the mean.
  • Use numpy.diff to plot the change in refugees instead of the absolut value.

Hands On 3¶

Questions¶

  • What is the basic structure of a for-loop?
  • What type of objects can you use a for loop on?
  • Explain the functions enumerate and zip.
  • How do you use if, elif, else?
  • How do you define a function?
  • What variables are availabel in the different functions of the last example.
  • What is the difference between return and print?
  • What is intendation good for?

Tasks¶

  • Repeat the things we did, type in the commands yourself and experiment with them.
  • Write a loop that calculates 2 ** 8 with simple multiplication.
  • Look at the help for range and create a loop that prints a countdown.
  • Adapt the compound interest code:
    • let it use a sensible default value for balance and time if these values are not specified.
    • let it calculate the result for a fixed list of interest rates (e.g.: 0.5, 1., 2., 4., 8.) instead of reading a single value from the terminal.
    • calculate the results for each interest up to 15 years and plot the result.
  • Define a function that calculates some basic statistics (min, max, mean, standard deviation) for the passed data and returns a list with them.
  • Use the function from the previous task to print these statistics for all countries where the mean is above 10000.
  • Adapt the refugees code such that the user can choose the time range to plot.