Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion src/00_hello.py
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
# Print "Hello, world!" to your terminal
# Print "Hello, world!" to your terminal
print('Hello, World!')
3 changes: 2 additions & 1 deletion src/01_bignum.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# Print out 2 to the 65536 power
# (try doing the same thing in the JS console and see what it outputs)

# YOUR CODE HERE
# YOUR CODE HERE
print(2**65536)
4 changes: 3 additions & 1 deletion src/02_datatypes.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,10 @@
# Write a print statement that combines x + y into the integer value 12

# YOUR CODE HERE
print(x + int(y))


# Write a print statement that combines x + y into the string value 57

# YOUR CODE HERE
# YOUR CODE HERE
print(str(x) + y)
13 changes: 12 additions & 1 deletion src/03_modules.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,27 +5,38 @@
level operating system functionality.
"""

import os
import sys
# See docs for the sys module: https://docs.python.org/3.7/library/sys.html

# Print out the command line arguments in sys.argv, one per line:
# YOUR CODE HERE

for line in sys.argv:
print(line)

# Print out the OS platform you're using:
# YOUR CODE HERE
print(sys.platform)

# Print out the version of Python you're using:
# YOUR CODE HERE
print(sys.version)


import os
# See the docs for the OS module: https://docs.python.org/3.7/library/os.html

# Print the current process ID
# YOUR CODE HERE

print(os.getpid())

# Print the current working directory (cwd):
# YOUR CODE HERE

print(os.getcwd())

# Print out your machine's login name
# YOUR CODE HERE

print(os.getlogin())
8 changes: 7 additions & 1 deletion src/04_printing.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,12 @@
# y, and z:
# x is 10, y is 2.25, z is "I like turtles!"

print('x is %i, y is %.2f, z is %s' % (x, y, z))

# Use the 'format' string method to print the same thing

# Finally, print the same thing using an f-string
print("x is {}, y is {}, z is {}".format(x, round(y, 2), z))

# Finally, print the same thing using an f-string

print(f'x is {x}, y is {round(y, 2)}, z is {z}')
10 changes: 9 additions & 1 deletion src/05_lists.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,22 +8,30 @@

# Change x so that it is [1, 2, 3, 4]
# YOUR CODE HERE
x.append(4)
print(x)

# Using y, change x so that it is [1, 2, 3, 4, 8, 9, 10]
# YOUR CODE HERE
x.extend(y)
print(x)

# Change x so that it is [1, 2, 3, 4, 9, 10]
# YOUR CODE HERE
x.remove(8)
print(x)

# Change x so that it is [1, 2, 3, 4, 9, 99, 10]
# YOUR CODE HERE
x.insert(5, 99)
print(x)

# Print the length of list x
# YOUR CODE HERE
print(len(x))

# Print all the values in x multiplied by 1000
# YOUR CODE HERE
# YOUR CODE HERE

for i in x:
print(i * 1000)
9 changes: 7 additions & 2 deletions src/06_tuples.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,28 +17,33 @@

import math


def dist(a, b):
"""Compute the distance between two x,y points."""
x0, y0 = a # Destructuring assignment
x1, y1 = b

return math.sqrt((x1 - x0)**2 + (y1 - y0)**2)


a = (2, 7) # <-- x,y coordinates stored in tuples
b = (-14, 72)

# Prints "Distance is 66.94"
print("Distance is: {:.2f}".format(dist(a, b)))



# Write a function `print_tuple` that prints all the values in a tuple

def print_tuple(a):
print(a)

# YOUR CODE HERE


t = (1, 2, 5, 7, 99)
print_tuple(t) # Prints 1 2 5 7 99, one per line

# Declare a tuple of 1 element then print it
u = (1) # What needs to be added to make this work?
u = (1,) # What needs to be added to make this work?
print_tuple(u)
14 changes: 7 additions & 7 deletions src/07_slices.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,26 +12,26 @@
a = [2, 4, 1, 7, 9, 6]

# Output the second element: 4:
print()
print(a[1:2])

# Output the second-to-last element: 9
print()
print(a[4:5])

# Output the last three elements in the array: [7, 9, 6]
print()
print(a[3:6])

# Output the two middle elements in the array: [1, 7]
print()
print(a[2:4])

# Output every element except the first one: [4, 1, 7, 9, 6]
print()
print(a[1:6])

# Output every element except the last one: [2, 4, 1, 7, 9]
print()
print(a[0:5])

# For string s...

s = "Hello, world!"

# Output just the 8th-12th characters: "world"
print()
print(s[7:12])
13 changes: 6 additions & 7 deletions src/08_comprehensions.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,13 @@

# Write a list comprehension to produce the array [1, 2, 3, 4, 5]

y = []

print (y)
y = [i for i in range(1, 6)]
print(y)

# Write a list comprehension to produce the cubes of the numbers 0-9:
# [0, 1, 8, 27, 64, 125, 216, 343, 512, 729]

y = []
y = [i**3 for i in range(0, 10)]

print(y)

Expand All @@ -26,7 +25,7 @@

a = ["foo", "bar", "baz"]

y = []
y = [i.upper() for i in a]

print(y)

Expand All @@ -36,6 +35,6 @@
x = input("Enter comma-separated numbers: ").split(',')

# What do you need between the square brackets to make it work?
y = []
y = [int(v) for v in x if int(v) % 2 == 0]

print(y)
print(y)
13 changes: 12 additions & 1 deletion src/09_dictionaries.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,23 @@
# Add a new waypoint to the list
# YOUR CODE HERE

waypoints.append({"lat": 130, "lon": -161, "name": "a forth place"})
print(waypoints)


# Modify the dictionary with name "a place" such that its longitude
# value is -130 and change its name to "not a real place"
# Note: It's okay to access the dictionary using bracket notation on the
# waypoints list.

# YOUR CODE HERE

waypoints[0] = {**waypoints[0], "lon": -130, "name": "not a real place"}
print(waypoints)


# Write a loop that prints out all the field values for all the waypoints
# YOUR CODE HERE
# YOUR CODE HERE

for items in waypoints:
print(items["name"], items["lat"], items["lon"])
10 changes: 10 additions & 0 deletions src/10_functions.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@

# YOUR CODE HERE


def is_even():
if num % 2 == 0:
return True


# Read a number from the keyboard
num = input("Enter a number: ")
num = int(num)
Expand All @@ -10,3 +16,7 @@

# YOUR CODE HERE

if num % 2 == 0:
print("Even!")
else:
print("Odd")
33 changes: 31 additions & 2 deletions src/11_args.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@

# YOUR CODE HERE


def f1(a, b):
return a + b


print(f1(1, 2))

# Write a function f2 that takes any number of integer arguments and prints the
Expand All @@ -14,6 +19,11 @@

# YOUR CODE HERE


def f2(*args):
return sum(args)


print(f2(1)) # Should print 1
print(f2(1, 3)) # Should print 4
print(f2(1, 4, -12)) # Should print -7
Expand All @@ -22,7 +32,13 @@
a = [7, 6, 5, 4]

# How do you have to modify the f2 call below to make this work?
print(f2(a)) # Should print 22


def f2b(args):
return sum(args)


print(f2b(a)) # Should print 22

# Write a function f3 that accepts either one or two arguments. If one argument,
# it returns that value plus 1. If two arguments, it returns the sum of the
Expand All @@ -31,6 +47,14 @@

# YOUR CODE HERE


def f3(*args):
if len(args) > 1:
return sum(args)
else:
return args[0] + 1


print(f3(1, 2)) # Should print 3
print(f3(8)) # Should print 9

Expand All @@ -45,6 +69,11 @@

# YOUR CODE HERE

def f4(**kwargs):
for key, value in kwargs.items():
print("key: %s, value: %s" % (key, value))


# Should print
# key: a, value: 12
# key: b, value: 30
Expand All @@ -62,4 +91,4 @@
}

# How do you have to modify the f4 call below to make this work?
f4(d)
f4(**d)
6 changes: 6 additions & 0 deletions src/12_scopes.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,12 @@
# When you use a variable in a function, it's local in scope to the function.
x = 12


def change_x():
global x
x = 99
print(x)


change_x()

Expand All @@ -19,7 +23,9 @@ def outer():
y = 120

def inner():
nonlocal y
y = 999
print(y)

inner()

Expand Down
11 changes: 10 additions & 1 deletion src/13_file_io.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,18 @@

# YOUR CODE HERE

with open('foo.txt') as foo:
read_data = foo.read()
print(read_data)
foo.close()

# Open up a file called "bar.txt" (which doesn't exist yet) for
# writing. Write three lines of arbitrary content to that file,
# then close the file. Open up "bar.txt" and inspect it to make
# sure that it contains what you expect it to contain

# YOUR CODE HERE
# YOUR CODE HERE

bar = open('bar.txt', 'w+')
bar.write('Hello \n My name is Andrew \n I am a Software Dev')
bar.close()
Loading