Skip to content
Snippets Groups Projects
Commit 85016c66 authored by Christof Kaufmann's avatar Christof Kaufmann
Browse files

Notebooks from ckaufmann/akis-python-framework@bc3ce819

parent b37d4c0e
No related branches found
No related tags found
No related merge requests found
%% Cell type:markdown id:0004-3cf6c18c8f469df0e2b92fe313002ebe0f1253f2ea3163b218712237d76 tags: %% Cell type:markdown id:0004-83241b1b96e523ab355ace7c904e0da96909f6320572c8d8caef03fe592 tags:
# Produkt # Produkt
Schreiben Sie eine Funktion `prod`, die eine Liste von Zahlen übergeben Schreiben Sie eine Funktion `prod`, die eine Liste von Zahlen übergeben
bekommt und deren Produkt berechnet und zurück gibt. bekommt und deren Produkt berechnet und zurück gibt. Eine Liste lässt
sich z. B. so definieren `[1, 3, 5]` (siehe Tests unten) und man kann
Sie genauso mit einer `for`-Schleife iterieren wie Strings.
*Hinweis: Implementieren Sie die Funktion in reinem Python (also ganz *Hinweis: Implementieren Sie die Funktion in reinem Python (also ganz
normal mit Schleife, ohne fertige Funktionen aus externen Modulen).* normal mit Schleife, ohne fertige Funktionen aus externen Modulen).*
## Lösung ## Lösung
Sie starten mit dem Produkt `p = 1` und multiplizieren in einer Sie starten mit dem Produkt `p = 1` und multiplizieren in einer
`for`-Schleife Faktor für Faktor dran. `for`-Schleife Faktor für Faktor dran.
%% Cell type:code id:0005-8e39bab4b11aeced8b8607ed8451d39c7b4d6ebfacdd6888e9f434c7e0c tags: %% Cell type:code id:0005-8e39bab4b11aeced8b8607ed8451d39c7b4d6ebfacdd6888e9f434c7e0c tags:
``` ```
from typing import Sequence from typing import Sequence
def prod(factors: Sequence[float]): def prod(factors: Sequence[float]):
p = 1 p = 1
for f in factors: for f in factors:
p *= f p *= f
return p return p
``` ```
%% Cell type:markdown id:0007-fd103536088492c4d08c6439fe431610cac5d61a9dadf721e49d5cbc7eb tags: %% Cell type:markdown id:0007-fd103536088492c4d08c6439fe431610cac5d61a9dadf721e49d5cbc7eb tags:
## Tests ## Tests
Beispiel: Beispiel:
%% Cell type:code id:0008-bae585c94b7abb1e7371e93177310ff96bf5375fd0b98a859dc81e39a33 tags: %% Cell type:code id:0008-bae585c94b7abb1e7371e93177310ff96bf5375fd0b98a859dc81e39a33 tags:
``` ```
prod([1, 3, 5]) prod([1, 3, 5])
``` ```
%% Output %% Output
15 15
%% Cell type:markdown id:0009-b8506b8be6e3dc49fc5e7a63d4c68540d0ac63d71e690c6f888273ffdc0 tags: %% Cell type:markdown id:0009-b8506b8be6e3dc49fc5e7a63d4c68540d0ac63d71e690c6f888273ffdc0 tags:
Teste mit ints Teste mit ints
%% Cell type:code id:0010-46f6eb37453aad0c1cadd782dfd121446e1271eceb4d96f861ab243f1ce tags: %% Cell type:code id:0010-46f6eb37453aad0c1cadd782dfd121446e1271eceb4d96f861ab243f1ce tags:
``` ```
prod([1, 2, 3]) prod([1, 2, 3])
``` ```
%% Output %% Output
6 6
%% Cell type:markdown id:0011-79b3aa2710afaf1943a7f76810f0a6af6d9462c0fb382c9723497031583 tags: %% Cell type:markdown id:0011-79b3aa2710afaf1943a7f76810f0a6af6d9462c0fb382c9723497031583 tags:
Test mit floats Test mit floats
%% Cell type:code id:0012-f8392f4570410d667c45382c775050d706bf5e19f321779333bb348e707 tags: %% Cell type:code id:0012-f8392f4570410d667c45382c775050d706bf5e19f321779333bb348e707 tags:
``` ```
prod([1.0, 2.0, 3.0]) prod([1.0, 2.0, 3.0])
``` ```
%% Output %% Output
6.0 6.0
%% Cell type:markdown id:0013-a72ab0a65a4890811ef5d8babe59614063c7d38576311ba1904d7544cef tags: %% Cell type:markdown id:0013-a72ab0a65a4890811ef5d8babe59614063c7d38576311ba1904d7544cef tags:
Teste mit ints und floats gemischt Teste mit ints und floats gemischt
%% Cell type:code id:0014-e229b75a27a79bb292c211623f46140be16d78a0ff40cfb712430c65b0c tags: %% Cell type:code id:0014-e229b75a27a79bb292c211623f46140be16d78a0ff40cfb712430c65b0c tags:
``` ```
prod([1, 2.0, 3]) prod([1, 2.0, 3])
``` ```
%% Output %% Output
6.0 6.0
%% Cell type:markdown id:0015-785d4b41d41cd864cbd8675996c2ae2a54e435faeec6c1ee5c576b2a188 tags: %% Cell type:markdown id:0015-785d4b41d41cd864cbd8675996c2ae2a54e435faeec6c1ee5c576b2a188 tags:
Teste, dass Pythons ints benutzt werden, die eine flexible Größe haben Teste, dass Pythons ints benutzt werden, die eine flexible Größe haben
%% Cell type:code id:0016-caed5ede01c0e2af2affc80b26d338f41280e1cda1d7638d37f6bf5863d tags: %% Cell type:code id:0016-caed5ede01c0e2af2affc80b26d338f41280e1cda1d7638d37f6bf5863d tags:
``` ```
prod([10000000000000, 20000000000000, 30000000000000]) prod([10000000000000, 20000000000000, 30000000000000])
``` ```
%% Output %% Output
6000000000000000000000000000000000000000 6000000000000000000000000000000000000000
......
%% Cell type:markdown id:0003-15b53e1dfe474eeb87e6312b199b155210447f84f700cbc75cb90518ec6 tags: %% Cell type:markdown id:0003-3505d5a216e63bccae87a8c9b64976f47d11ba89db86f9313c3c2c78b68 tags:
# Produkt # Produkt
Schreiben Sie eine Funktion `prod`, die eine Liste von Zahlen übergeben Schreiben Sie eine Funktion `prod`, die eine Liste von Zahlen übergeben
bekommt und deren Produkt berechnet und zurück gibt. bekommt und deren Produkt berechnet und zurück gibt. Eine Liste lässt
sich z. B. so definieren `[1, 3, 5]` (siehe Tests unten) und man kann
Sie genauso mit einer `for`-Schleife iterieren wie Strings.
*Hinweis: Implementieren Sie die Funktion in reinem Python (also ganz *Hinweis: Implementieren Sie die Funktion in reinem Python (also ganz
normal mit Schleife, ohne fertige Funktionen aus externen Modulen).* normal mit Schleife, ohne fertige Funktionen aus externen Modulen).*
Hier Ihr Code: Hier Ihr Code:
%% Cell type:code id:0004-44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 tags: %% Cell type:code id:0004-44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 tags:
``` ```
``` ```
%% Cell type:markdown id:0006-fd103536088492c4d08c6439fe431610cac5d61a9dadf721e49d5cbc7eb tags: %% Cell type:markdown id:0006-fd103536088492c4d08c6439fe431610cac5d61a9dadf721e49d5cbc7eb tags:
## Tests ## Tests
Beispiel: Beispiel:
%% Cell type:code id:0007-bae585c94b7abb1e7371e93177310ff96bf5375fd0b98a859dc81e39a33 tags: %% Cell type:code id:0007-bae585c94b7abb1e7371e93177310ff96bf5375fd0b98a859dc81e39a33 tags:
``` ```
prod([1, 3, 5]) prod([1, 3, 5])
``` ```
%% Output %% Output
15 15
%% Cell type:markdown id:0008-b8506b8be6e3dc49fc5e7a63d4c68540d0ac63d71e690c6f888273ffdc0 tags: %% Cell type:markdown id:0008-b8506b8be6e3dc49fc5e7a63d4c68540d0ac63d71e690c6f888273ffdc0 tags:
Teste mit ints Teste mit ints
%% Cell type:code id:0009-46f6eb37453aad0c1cadd782dfd121446e1271eceb4d96f861ab243f1ce tags: %% Cell type:code id:0009-46f6eb37453aad0c1cadd782dfd121446e1271eceb4d96f861ab243f1ce tags:
``` ```
prod([1, 2, 3]) prod([1, 2, 3])
``` ```
%% Output %% Output
6 6
%% Cell type:markdown id:0010-79b3aa2710afaf1943a7f76810f0a6af6d9462c0fb382c9723497031583 tags: %% Cell type:markdown id:0010-79b3aa2710afaf1943a7f76810f0a6af6d9462c0fb382c9723497031583 tags:
Test mit floats Test mit floats
%% Cell type:code id:0011-f8392f4570410d667c45382c775050d706bf5e19f321779333bb348e707 tags: %% Cell type:code id:0011-f8392f4570410d667c45382c775050d706bf5e19f321779333bb348e707 tags:
``` ```
prod([1.0, 2.0, 3.0]) prod([1.0, 2.0, 3.0])
``` ```
%% Output %% Output
6.0 6.0
%% Cell type:markdown id:0012-a72ab0a65a4890811ef5d8babe59614063c7d38576311ba1904d7544cef tags: %% Cell type:markdown id:0012-a72ab0a65a4890811ef5d8babe59614063c7d38576311ba1904d7544cef tags:
Teste mit ints und floats gemischt Teste mit ints und floats gemischt
%% Cell type:code id:0013-e229b75a27a79bb292c211623f46140be16d78a0ff40cfb712430c65b0c tags: %% Cell type:code id:0013-e229b75a27a79bb292c211623f46140be16d78a0ff40cfb712430c65b0c tags:
``` ```
prod([1, 2.0, 3]) prod([1, 2.0, 3])
``` ```
%% Output %% Output
6.0 6.0
%% Cell type:markdown id:0014-785d4b41d41cd864cbd8675996c2ae2a54e435faeec6c1ee5c576b2a188 tags: %% Cell type:markdown id:0014-785d4b41d41cd864cbd8675996c2ae2a54e435faeec6c1ee5c576b2a188 tags:
Teste, dass Pythons ints benutzt werden, die eine flexible Größe haben Teste, dass Pythons ints benutzt werden, die eine flexible Größe haben
%% Cell type:code id:0015-caed5ede01c0e2af2affc80b26d338f41280e1cda1d7638d37f6bf5863d tags: %% Cell type:code id:0015-caed5ede01c0e2af2affc80b26d338f41280e1cda1d7638d37f6bf5863d tags:
``` ```
prod([10000000000000, 20000000000000, 30000000000000]) prod([10000000000000, 20000000000000, 30000000000000])
``` ```
%% Output %% Output
6000000000000000000000000000000000000000 6000000000000000000000000000000000000000
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment