Skip to content

Bp #1130

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 17 commits into
base: master
Choose a base branch
from
Open

Bp #1130

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
6 changes: 5 additions & 1 deletion src/00_hello.py
Original file line number Diff line number Diff line change
@@ -1 +1,5 @@
# Print "Hello, world!" to your terminal
# Print "Hello, world!" to your terminal

# * SOLUTION:
# * OPEN INTERPRETER && RUN: python3 00_hello.py
print("Hello, world!")
4 changes: 3 additions & 1 deletion src/01_bignum.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Print out 2 to the 65536 power
# (try doing the same thing in the JS console and see what it outputs)

# YOUR CODE HERE
# * SOLUTION:
# * OPEN INTERPRETER && RUN: python3 01_bignum.py
print(2**65536)
19 changes: 16 additions & 3 deletions src/02_datatypes.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,27 @@
on a string and an integer.
"""

# * SOLUTIONS BELOW:
# * OPEN INTERPRETER && RUN: python3 02_datatypes.py

# ? TYPE() - RETURNS THE TYPE OF VALUE YOU ARE DEALING WITH.
# ? EX: <class 'int'> || <class 'str'>

x = 5
y = "7"

# Write a print statement that combines x + y into the integer value 12

# YOUR CODE HERE

# ? INT() - CONVERTS A VALUE TO INTEGERS
print(
x + int(y),
type(x + int(y))
)

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

# YOUR CODE HERE
# ? STR() - CONVERTS A VALUE TO STRING
print(
str(x + int(y)),
type(str(x + int(y)))
)
16 changes: 9 additions & 7 deletions src/03_modules.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,28 +4,30 @@
methods, and the os module, which gives you access to lower-
level operating system functionality.
"""
# * SOLUTIONS BELOW:
# * OPEN INTERPRETER && RUN: python3 03_modules.py

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 argument in dir(sys.argv): print("Argument: ", argument)

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

# Print out the version of Python you're using:
# YOUR CODE HERE

print('IMPLEMENTATION VERSION INFORMATION', sys.implementation)
print('VERSIONS INFORMATION: ', sys.version_info)

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('CURRENT PROCESS ID: ', os.getpid())

# Print the current working directory (cwd):
# YOUR CODE HERE
print('CURRENT WORKING DIRECTORY (CWD): ', os.getcwd())

# Print out your machine's login name
# YOUR CODE HERE
print('CURRENT LOCAL MACHINE LOGIN NAME: ', os.getlogin())
8 changes: 7 additions & 1 deletion src/04_printing.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,20 @@
method, and by using f-strings.
"""

# * SOLUTIONS BELOW:
# * OPEN INTERPRETER && RUN: python3 04_printing.py

x = 10
y = 2.24552
z = "I like turtles!"

# Using the printf operator (%), print the following feeding in the values of x,
# y, and z:
# x is 10, y is 2.25, z is "I like turtles!"
print('x is %s, y is %s, z is %s ' % (x, y, z))

# Use the 'format' string method to print the same thing
print('x is {0}, y is {1}, z is {2}'.format(x, y, z))

# Finally, print the same thing using an f-string
# Finally, print the same thing using an f-string
print(F'x is {x}, y is {y}, z is {z}')
15 changes: 9 additions & 6 deletions src/05_lists.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,27 @@

# For the following, DO NOT USE AN ASSIGNMENT (=).

# * SOLUTIONS BELOW:
# * OPEN INTERPRETER && RUN: python3 05_lists.py

# 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('LENGTH OF LIST: ', len(x))

# Print all the values in x multiplied by 1000
# YOUR CODE HERE
for item in x: print(str(item * 1000))
11 changes: 7 additions & 4 deletions src/06_tuples.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,18 +27,21 @@ def dist(a, b):
a = (2, 7) # <-- x,y coordinates stored in tuples
b = (-14, 72)

# * SOLUTIONS BELOW:
# * OPEN INTERPRETER && RUN: python3 06_tuples.py

# 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

# YOUR CODE HERE
def print_tuple(param):
if (isinstance(param, tuple)) :
for item in param: print(item)

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)
17 changes: 10 additions & 7 deletions src/07_slices.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,29 +9,32 @@
Use Python's slice syntax to achieve the following:
"""

# * SOLUTIONS BELOW:
# * OPEN INTERPRETER && RUN: python3 07_slices.py

a = [2, 4, 1, 7, 9, 6]

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

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

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

# 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[-5::1])

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

# For string s...

s = "Hello, world!"

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

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

y = []
# * SOLUTIONS BELOW:
# * OPEN INTERPRETER && RUN: python3 08_comprehensions.py

y = [x for x 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 = [x**3 for x in range(10)]

print(y)

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

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

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

print(y)

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

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

print(y)
22 changes: 19 additions & 3 deletions src/09_dictionaries.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@
- name: a name string for this location
"""

# * SOLUTIONS BELOW:
# * OPEN INTERPRETER && RUN: python3 09_dictionaries.py

waypoints = [
{
"lat": 43,
Expand All @@ -34,14 +37,27 @@
]

# Add a new waypoint to the list
# YOUR CODE HERE
waypoints.append({
"lat": 9999,
"lon": -10000,
"name": "DEEPEST HOLE ON EARTH"
})

# 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
ref = waypoints[0]

ref["name"] = "not a real place"
ref["lon"] = -130

print(waypoints)

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

for value in range(len(waypoints)):
for key in waypoints[value]:
print(F'Obecjet Number: {value} ({key} : {waypoints[value][key]})')
16 changes: 13 additions & 3 deletions src/10_functions.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,22 @@
# Write a function is_even that will return true if the passed-in number is even.

# YOUR CODE HERE
# * SOLUTIONS BELOW:
# * OPEN INTERPRETER && RUN: python3 10_functions.py


def is_even(number):
if(int(number) % 2) == 0:
print('Even number')
return True
elif(int(number) % 2) != 0:
print('Odd number')
return False


# Read a number from the keyboard
num = input("Enter a number: ")
num = int(num)

# Print out "Even!" if the number is even. Otherwise print "Odd"

# YOUR CODE HERE

is_even(num)
20 changes: 14 additions & 6 deletions src/11_args.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,19 @@
# Write a function f1 that takes two integer positional arguments and returns
# the sum. This is what you'd consider to be a regular, normal function.

# YOUR CODE HERE
# * SOLUTIONS BELOW:
# * OPEN INTERPRETER && RUN: python3 11_args.py

def f1(n1, n2):
if(n1 or n2) != 0: return (n1 + n2)

print(f1(1, 2))

# Write a function f2 that takes any number of integer arguments and prints the
# sum.
# Note: Google for "python arbitrary arguments" and look for "*args"

# YOUR CODE HERE
def f2(*n): print(sum(n))

print(f2(1)) # Should print 1
print(f2(1, 3)) # Should print 4
Expand All @@ -22,14 +26,16 @@
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
print(f2(*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
# arguments.
# Note: Google "python default arguments" for a hint.

# YOUR CODE HERE
def f3(param1, param2 = False):
if (param1 and param2): return param1 + param2
elif (param2) != True: return param1 + 1

print(f3(1, 2)) # Should print 3
print(f3(8)) # Should print 9
Expand All @@ -43,7 +49,9 @@
#
# Note: Google "python keyword arguments".

# YOUR CODE HERE
def f4(**kwargs):
for key, value in kwargs.items():
print(F'|key| {key}, |value| {value}')

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

# How do you have to modify the f4 call below to make this work?
f4(d)
f4(**d)
Loading