Add tasks
This commit is contained in:
parent
d472539f38
commit
fed17cb0a5
26
Exercise 3/11 - Doble lokker/11a.py
Normal file
26
Exercise 3/11 - Doble lokker/11a.py
Normal file
@ -0,0 +1,26 @@
|
||||
|
||||
def numberPyramid(length):
|
||||
for i in range(length):
|
||||
row = ''
|
||||
for k in range(i+1):
|
||||
row += f'{k+1} '
|
||||
print(row)
|
||||
|
||||
def numberPyramidGenerator():
|
||||
currentList = ['1']
|
||||
while True:
|
||||
yield ' '.join(currentList)
|
||||
currentList.append(str(int(currentList[-1]) + 1))
|
||||
|
||||
|
||||
def solutionWithForLoops(n):
|
||||
return numberPyramid(n)
|
||||
|
||||
def solutionWithGenerator(n):
|
||||
myGenerator = numberPyramidGenerator()
|
||||
for i in range(n):
|
||||
print(next(myGenerator))
|
||||
|
||||
if __name__ == "__main__":
|
||||
n = int(input('n: '))
|
||||
print(solutionWithForLoops(n))
|
18
Exercise 3/8.py
Normal file
18
Exercise 3/8.py
Normal file
@ -0,0 +1,18 @@
|
||||
def fibonacciIterative(n):
|
||||
k1 = 0
|
||||
k2 = 1
|
||||
for i in range(n-1):
|
||||
previousK2 = k2
|
||||
k2 = k1 + k2
|
||||
k1 = previousK2
|
||||
return k1
|
||||
|
||||
fibonacciSum = lambda n: sum([fibonacciIterative(i) for i in range(1, n+1)])
|
||||
fibonacciList = lambda n: [fibonacciIterative(i) for i in range(1, n+1)]
|
||||
|
||||
if __name__ == "__main__":
|
||||
n = int(input('n: '))
|
||||
|
||||
print(f'a) Fibonacci({n})', fibonacciIterative(n))
|
||||
print(f'b) Sum av Fibonacci(1..{n})', fibonacciSum(n))
|
||||
print(f'c) Sum av Fibonacci(1..{n})', fibonacciList(n))
|
9
Exercise 3/9 - Alternerende sum/9a.py
Normal file
9
Exercise 3/9 - Alternerende sum/9a.py
Normal file
@ -0,0 +1,9 @@
|
||||
|
||||
def alternateSum(n):
|
||||
positiveNumbers = [num**2 for num in [i for i in range(1,n+1) if i % 2 != 0]]
|
||||
negativeNumbers = [-num**2 for num in [i for i in range(1,n+1) if i % 2 == 0]]
|
||||
return sum(positiveNumbers + negativeNumbers)
|
||||
|
||||
if __name__ == "__main__":
|
||||
n = int(input('n: '))
|
||||
print(alternateSum(n))
|
24
Exercise 3/9 - Alternerende sum/9b.py
Normal file
24
Exercise 3/9 - Alternerende sum/9b.py
Normal file
@ -0,0 +1,24 @@
|
||||
def AlternateNumberGenerator():
|
||||
isEven = lambda n: n % 2 == 0
|
||||
n = 1
|
||||
counter = 2
|
||||
while True:
|
||||
yield n
|
||||
n = n + (-counter**2 if isEven(counter) else counter**2)
|
||||
counter+=1
|
||||
|
||||
def alternateSumStopAt(k):
|
||||
numGen = AlternateNumberGenerator()
|
||||
previousN = None
|
||||
n = next(numGen)
|
||||
iterations = 0
|
||||
while n<k:
|
||||
previousN = n
|
||||
n = next(numGen)
|
||||
iterations += 1
|
||||
|
||||
print(f'Summen av tallene før summen blir større enn k er {previousN}. Antall iterasjoner: {iterations}')
|
||||
|
||||
if __name__ == "__main__":
|
||||
k = int(input('k: '))
|
||||
alternateSumStopAt(k)
|
Loading…
Reference in New Issue
Block a user