Computer Science 1
Computer Science 1
On this page, I share solutions built live during the Seminars for the BoGE Computer Science (CS) 1 Course. Refer to the Edunao webpage for administrative information and all pedagogical materials.
Seminar 03
print(len("How long is this string?"))
s = "nininininini"
print(s[0::2])
print(s[1::2])
s = "The last word is unnecessary."
print(s[:17])
print("kayak"[::-1])
s = "minezgurgfzeyurfuyfzeruygzeiruimum"
print(s[len(s)//2])
l = [1,'1',2,'2',3,'3']
lnumber = l[::2]
lchar = l[1::2]
n = int(lchar[0] + lchar[1] + lchar[2])
print(n)
print(type(n))
s = ""
for i in range(len(lchar)):
s += lchar[i]
n = int(s)
print(n)
print(type(n))
print(int("".join(lchar)))
l = [1,'1',2,'2',3,'3']
while l:
l.pop()
print(l)
cities = {
"Paris": (49, 2),
"Lisbon": (38, 9),
"Madrid": (40, 3)
}
print(cities)
cities["Berlin"] = (52, 13)
cities.pop("Lisbon")
print("Lisbon" in cities)
print("TRDTRUDUIHUIGYTYDYTD"[3:7])
print([1,2,3,4,5,7,7,5,25,8,2,54,321,4,5].pop())Seminar 04
number = int(input("Enter a number: "))
if number > 10:
print("OK")
else:
print("No, it's below")
number1 = int(input("Enter a number: "))
number2 = int(input("Enter a second number: "))
if number1 >= 0 and number2 >= 0:
print("Both numbers are positive.")
else:
print("One of the numbers is negative.")
id = input("Identifier: ")
if id == "admin":
pwd = input("Password: ")
if pwd == "1234":
print("Access granted.")
else:
print("Access denied.")
else:
print("User not recognized")
age = int(input('To purchase a ticket, indicate your age: '))
if age < 7:
print('You get a free entrance!')
elif age < 18:
print('You get a discount!')
else:
print('Sorry, you need to pay the full price.')
for i in range(1,10):
print(i)
lnames = ['Alice', 'Zoe', 'Charlie']
for name in lnames:
print(name[0], name[-1])
info = {'nom': 'Alice', 'age': 25, 'ville': 'Paris'}
for key in info:
print(key, info[key])
lnames = ['Alice', 'Zoe', 'Charlie']
dnames = {0: 'Alice', 1:'Zoe', 2:'Charlie'}
lnames[0]
dnames[0]
l1 = []
for i in range(1,11):
l1.append(i**2)
print(l1)
l3 = [i**2 for i in range(1,11)]
print(l3)
l2 = []
i = 1
while i < 11:
l2.append(i**2)
# i += 1
i = i+1
print(l2)
l100 = []
for i in range(0,101):
l100.append(i)
print(l100)
l100=[i for i in range(0,101)]
print(l100)
while(len(l100)> 50):
l100.pop()
print(len(l100))
print(l100)
l11 = [i for i in range(1,21) if i%2 == 0 or i% 3 ==0]
print(l11)Seminar 05
def is_member(x,colle):
for elem in colle:
if elem == x:
return True
return False
s = {0, 2, 4, 6, 8, 10}
assert is_member(2, s)
assert not is_member(1, s)
# %%
def length(l):
result = 0
for _ in l:
result += 1
return result
s1 = {1, 12, 33, 20, 10, 15}
l = list(range(50))
string = "Alohomora"
ls1 = length(s1)
ll = length(l)
assert length(s1) == len(s1)
assert length(l) == len(l)
assert length(string) == len(string)
# %%
def sum_(l):
result = 0
for x in l:
result += x
return result
l = (1, 4, 7, 9, 3, 20)
assert sum_(l) == sum(l)
# %%
def prod(l):
result = 1
for x in l:
result *= x
return result
l = (1, 4, 7, 9, 3, 20)
assert prod(l) == 1*4*7*9*3*20
# %%
def map_(f, iterable):
l = []
for x in iterable:
l.append(f(x))
return type(iterable)(l)
# return type(iterable)(f(x) for x in iterable)
def f(x):
return x**3
assert map_(f, (1, 10, -1, 40)) == tuple(map(f, (1, 10, -1, 40)))
# %%
def filter_(f,iterable):
return type(iterable)(x for x in iterable if f(x))
# l = []
# for x in iterable:
# if f(x):
# l.append(x)
# if isinstance(iterable, list):
# return l
# if isinstance(iterable, tuple):
# return tuple(l)
# if isinstance(iterable, set):
# return set(l)
assert filter_(f, {-1, -3, 0, 15, 6, -2, 11}) == {x for x in filter(f, {-1, -3, 0, 15, 6, -2, 11})}
# %%
def union(s1, s2):
s = set()
for x in s1:
s.add(x)
for x in s2:
s.add(x)
return s
s1 = {1, 0, 10, 31, 22, 15}
s2 = {1, 12, 33, 20, 10, 15}
assert union(s1, s2) == {1, 0, 10, 31, 22, 15, 12, 33, 20}
# %%
def intersection(s1, s2):
s = set()
for x in s1:
if is_member(x, s2):
s.add(x)
return s
s1 = {1, 0, 10, 31, 22, 15}
s2 = {1, 12, 33, 20, 10, 15}
assert intersection(s1, s2) == {1, 10, 15}
# %%
def set_difference(s1, s2):
s = set()
for x in s1:
if is_member(x, s2):
continue
else:
s.add(x)
return s
s1 = {1, 0, 10, 31, 22, 15}
s2 = {1, 12, 33, 20, 10, 15}
assert set_difference(s1, s2) == {0, 31, 22}
assert set_difference(s2, s1) == {12, 33, 20}
# %%
def count(c, l):
result = 0
for x in l:
if x == c:
result += 1
return result
l = [0, 0, 0, 11, 2, 3, 0, 45, -1]
assert count(0, l) == l.count(0)
# %%
def extend(seq1, seq2):
for x in seq2:
seq1.append(x)
l1 = [1,2,3]
t1 = (4,5,6)
extend(l1, "123")
print(l1)
assert extend([], 'hello') == [].extend('hello')
assert extend([1,2,3], (4,5,6)) == [1,2,3].extend((4,5,6))
# %%