Skip to content

Commit b70994e

Browse files
committed
source commit: 4126380
0 parents  commit b70994e

42 files changed

Lines changed: 35546 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

01-introduction.md

Lines changed: 203 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,203 @@
1+
---
2+
title: Python Basics Recap
3+
teaching: 0
4+
exercises: 0
5+
---
6+
7+
::::::::::::::::::::::::::::::::::::::: objectives
8+
9+
- Understanding key concepts in Python
10+
11+
::::::::::::::::::::::::::::::::::::::::::::::::::
12+
13+
:::::::::::::::::::::::::::::::::::::::: questions
14+
15+
- Python Refresher
16+
17+
::::::::::::::::::::::::::::::::::::::::::::::::::
18+
19+
This course follows on from the python introduction course. To ensure that we are starting from similar positions, there follows a short multiple choice quiz on key python concepts that we will be building on through this course.
20+
21+
## Variables and Lists
22+
23+
::::::::::::::::::::::::::::::::::::: challenge
24+
25+
### 1\. Assigning a value to a variable
26+
27+
We wish to store the string `Cat` as a value in the variable `animal`, which of these lines of code will do this for us?
28+
29+
1. `animal = 'Cat'`
30+
2. `animal = Cat`
31+
3. `Cat = animal`
32+
4. `animal(Cat)`
33+
34+
::::::::::::::: solution
35+
36+
Answer 1 is correct
37+
38+
:::::::::::::::::::::::::
39+
40+
:::::::::::::::::::::::::::::::::::::::::::::::
41+
42+
::::::::::::::::::::::::::::::::::::: challenge
43+
44+
### 2\. Assigning values to a list
45+
46+
We wish to create a list of values, which of these lines of code is valid to do this?
47+
48+
1. `varlist = [34, 57, '2d']`
49+
2. `varlist = (12, 'vr', 95)`
50+
3. `varlist = 'xcf', 12, 97`
51+
52+
::::::::::::::: solution
53+
54+
Answer 1 is correct
55+
56+
:::::::::::::::::::::::::
57+
58+
:::::::::::::::::::::::::::::::::::::::::::::::
59+
60+
::::::::::::::::::::::::::::::::::::: challenge
61+
62+
### 3a. Indexing characters in a string
63+
64+
Lists and strings both contain multiple indexed values (in the case of strings these are specifically individual characters rather than other values). If we have a variable `animal` which contains the string `penguin`, which of these options will print the first character (`p`) for us?
65+
66+
1. `print(animal[0])`
67+
2. `print(animal[1])`
68+
3. `print(animal['p'])`
69+
70+
::::::::::::::: solution
71+
72+
Answer 1 is correct
73+
74+
:::::::::::::::::::::::::
75+
76+
:::::::::::::::::::::::::::::::::::::::::::::::
77+
78+
::::::::::::::::::::::::::::::::::::: challenge
79+
80+
### 3b. Indexing characters in a string (slicing)
81+
82+
We can also select whole sections of lists and strings, not just single elements. Using the same variable `animal`, containing the string `penguin`, as above, which of these options will print the last 2 characters for us? (Note that there is more an one correct answer)
83+
84+
1. `print(animal[5:])`
85+
2. `print(animal[6:])`
86+
3. `print(animal[6:7])`
87+
4. `print(animal[5:7])`
88+
5. `print(animal[-2:])`
89+
6. `print(animal[:-2])`
90+
91+
::::::::::::::: solution
92+
93+
Answers 1, 4, and 5 are correct
94+
95+
:::::::::::::::::::::::::
96+
97+
:::::::::::::::::::::::::::::::::::::::::::::::
98+
99+
## Loops
100+
101+
::::::::::::::::::::::::::::::::::::: challenge
102+
103+
### 4\. Constructing a `for` loop
104+
105+
Please write a simple `for` loop which will print out each of the characters in the `animal` variable one at a time.
106+
107+
::::::::::::::: solution
108+
109+
```python
110+
for char in animal:
111+
print(char)
112+
```
113+
114+
:::::::::::::::::::::::::
115+
116+
:::::::::::::::::::::::::::::::::::::::::::::::
117+
118+
## Software Modules
119+
120+
::::::::::::::::::::::::::::::::::::: challenge
121+
122+
### 5\. Loading new functions
123+
124+
We want to use the functions in the `numpy` library in our code. How do we open this library in our code?
125+
126+
1. `import numpy`
127+
2. `load numpy`
128+
3. `open numpy`
129+
130+
::::::::::::::: solution
131+
132+
Answer 1 is correct
133+
134+
:::::::::::::::::::::::::
135+
136+
:::::::::::::::::::::::::::::::::::::::::::::::
137+
138+
## If statements and conditionals
139+
140+
::::::::::::::::::::::::::::::::::::: challenge
141+
142+
### 6\. Conditionals
143+
144+
Which of these conditional tests returns a `True` result?
145+
146+
1. `4 > 3`
147+
2. `'a' != 'b'`
148+
3. `6 >= 6.0`
149+
4. `'3' == 3`
150+
5. `3 > 'c'`
151+
152+
::::::::::::::: solution
153+
154+
Answers 1, 2, and 3 return `True` results. 4 returns `False`. 5 raises an Error.
155+
156+
:::::::::::::::::::::::::
157+
158+
:::::::::::::::::::::::::::::::::::::::::::::::
159+
160+
::::::::::::::::::::::::::::::::::::: challenge
161+
162+
### 7\. If statements
163+
164+
What is printed when this `if` statement is used?
165+
166+
```python
167+
if 4 > 5:
168+
print('A')
169+
elif 4 <= 5:
170+
print('B')
171+
elif 4 < 5:
172+
print('C')
173+
else:
174+
print('D')
175+
```
176+
177+
1. `A`
178+
2. `B`
179+
3. `C`
180+
4. `B` and `C`
181+
5. `D`
182+
6. `A` and `D`
183+
184+
::::::::::::::: solution
185+
186+
`B`. Both `4 <= 5` and `4 < 5` would return a `True` result, but the `if` statement is exited as soon as the `True` result is returned.
187+
188+
:::::::::::::::::::::::::
189+
190+
:::::::::::::::::::::::::::::::::::::::::::::::
191+
192+
193+
:::::::::::::::::::::::::::::::::::::::: keypoints
194+
195+
- variables
196+
- lists
197+
- indexing
198+
- loops
199+
- conditionals
200+
201+
::::::::::::::::::::::::::::::::::::::::::::::::::
202+
203+

0 commit comments

Comments
 (0)