ha4 hinzugefügt

This commit is contained in:
Christopher Stroebel 2025-12-09 14:21:35 +01:00
parent c8a3244f5e
commit 1cdb259664
9 changed files with 371 additions and 0 deletions

View File

@ -0,0 +1,6 @@
<component name="InspectionProjectProfileManager">
<settings>
<option name="USE_PROJECT_PROFILE" value="false" />
<version value="1.0" />
</settings>
</component>

7
.idea/misc.xml generated Normal file
View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Black">
<option name="sdkName" value="Python 3.13 (prog a 3)" />
</component>
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.13 (prog a 3)" project-jdk-type="Python SDK" />
</project>

7
.idea/prog a 3.iml generated Normal file
View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<module version="4">
<component name="PyDocumentationSettings">
<option name="format" value="GOOGLE" />
<option name="myDocStringFormat" value="Google" />
</component>
</module>

6
.idea/vcs.xml generated Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

254
.idea/workspace.xml generated Normal file
View File

@ -0,0 +1,254 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AutoImportSettings">
<option name="autoReloadType" value="SELECTIVE" />
</component>
<component name="ChangeListManager">
<list default="true" id="333a5763-5a1b-477f-987f-baa986b6f5c5" name="Changes" comment="hintergrund geaendert">
<change afterPath="$PROJECT_DIR$/Hausaufgaben/Ha4/game.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Hausaufgaben/ha2/.env" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Hausaufgaben/ha2/1. Apollo.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Hausaufgaben/ha2/compute.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Hausaufgaben/ha2/config.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Hausaufgaben/ha2/game.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Hausaufgaben/ha2/moon.py" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="FileTemplateManagerImpl">
<option name="RECENT_TEMPLATES">
<list>
<option value="Python Script" />
</list>
</option>
</component>
<component name="Git.Settings">
<option name="RECENT_BRANCH_BY_REPOSITORY">
<map>
<entry key="$PROJECT_DIR$" value="9487b4012775caa78ec0bb591aa4681d904d822b" />
</map>
</option>
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
<option name="RESET_MODE" value="HARD" />
</component>
<component name="ProjectColorInfo">{
&quot;associatedIndex&quot;: 7
}</component>
<component name="ProjectId" id="343kJwhUXEJyFOo5dk8kjK0546a" />
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
<component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent"><![CDATA[{
"keyToString": {
"Python.1. Apollo.executor": "Run",
"Python.K-Länge.executor": "Run",
"Python.UndoDoodle.executor": "Run",
"Python.args.executor": "Run",
"Python.compute.executor": "Run",
"Python.game.executor": "Run",
"Python.moon.executor": "Run",
"Python.product.executor": "Run",
"Python.substr.executor": "Run",
"Python.timing-Decorator.executor": "Run",
"RunOnceActivity.ShowReadmeOnStart": "true",
"git-widget-placeholder": "main",
"last_opened_file_path": "/Users/chris/PycharmProjects/prog a 3/Hausaufgaben/Ha4",
"node.js.detected.package.eslint": "true",
"node.js.detected.package.tslint": "true",
"node.js.selected.package.eslint": "(autodetect)",
"node.js.selected.package.tslint": "(autodetect)",
"nodejs_package_manager_path": "npm",
"vue.rearranger.settings.migration": "true"
}
}]]></component>
<component name="RecentsManager">
<key name="CopyFile.RECENT_KEYS">
<recent name="$PROJECT_DIR$/Hausaufgaben/ha2" />
<recent name="$PROJECT_DIR$/Hausaufgaben" />
<recent name="$PROJECT_DIR$/Übungen" />
</key>
<key name="MoveFile.RECENT_KEYS">
<recent name="$PROJECT_DIR$/Hausaufgaben/ha1" />
</key>
</component>
<component name="RunManager">
<configuration name="1. Apollo" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<module name="prog a 3" />
<option name="ENV_FILES" value="" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/Hausaufgaben" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/Hausaufgaben/ha1/1. Apollo.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<configuration name="UndoDoodle" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<module name="prog a 3" />
<option name="ENV_FILES" value="" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/Hausaufgaben/Ha4" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/Hausaufgaben/Ha4/UndoDoodle.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<configuration name="moon" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<module name="prog a 3" />
<option name="ENV_FILES" value="" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/Hausaufgaben/ha1" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/Hausaufgaben/ha1/moon.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<recent_temporary>
<list>
<item itemvalue="Python.UndoDoodle" />
<item itemvalue="Python.moon" />
<item itemvalue="Python.1. Apollo" />
<item itemvalue="Python.moon" />
<item itemvalue="Python.1. Apollo" />
</list>
</recent_temporary>
</component>
<component name="SharedIndexes">
<attachedChunks>
<set>
<option value="bundled-js-predefined-d6986cc7102b-5c90d61e3bab-JavaScript-PY-242.23339.19" />
<option value="bundled-python-sdk-0029f7779945-399fe30bd8c1-com.jetbrains.pycharm.pro.sharedIndexes.bundled-PY-242.23339.19" />
</set>
</attachedChunks>
</component>
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="333a5763-5a1b-477f-987f-baa986b6f5c5" name="Changes" comment="" />
<created>1760449575234</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1760449575234</updated>
<workItem from="1760449577742" duration="5000000" />
<workItem from="1761647715886" duration="5459000" />
<workItem from="1761660380700" duration="209000" />
<workItem from="1761660604342" duration="2580000" />
<workItem from="1761666546007" duration="767000" />
<workItem from="1762867914981" duration="1020000" />
<workItem from="1765286094984" duration="301000" />
</task>
<task id="LOCAL-00001" summary="ha1 znd ue">
<option name="closed" value="true" />
<created>1761661518284</created>
<option name="number" value="00001" />
<option name="presentableId" value="LOCAL-00001" />
<option name="project" value="LOCAL" />
<updated>1761661518284</updated>
</task>
<task id="LOCAL-00002" summary="ha1 und ue">
<option name="closed" value="true" />
<created>1761661723912</created>
<option name="number" value="00002" />
<option name="presentableId" value="LOCAL-00002" />
<option name="project" value="LOCAL" />
<updated>1761661723912</updated>
</task>
<task id="LOCAL-00003" summary="hintergrund geaendert">
<option name="closed" value="true" />
<created>1761666882586</created>
<option name="number" value="00003" />
<option name="presentableId" value="LOCAL-00003" />
<option name="project" value="LOCAL" />
<updated>1761666882586</updated>
</task>
<option name="localTasksCounter" value="4" />
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
<option name="version" value="3" />
</component>
<component name="Vcs.Log.Tabs.Properties">
<option name="TAB_STATES">
<map>
<entry key="MAIN">
<value>
<State>
<option name="FILTERS">
<map>
<entry key="branch">
<value>
<list>
<option value="main" />
</list>
</value>
</entry>
</map>
</option>
</State>
</value>
</entry>
</map>
</option>
</component>
<component name="VcsManagerConfiguration">
<MESSAGE value="ha1 znd ue" />
<MESSAGE value="ha1 und ue" />
<MESSAGE value="hintergrund geaendert" />
<option name="LAST_COMMIT_MESSAGE" value="hintergrund geaendert" />
</component>
<component name="com.intellij.coverage.CoverageDataManagerImpl">
<SUITE FILE_PATH="coverage/prog_a_3$product.coverage" NAME="product Coverage Results" MODIFIED="1760453406557" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/Übungen" />
<SUITE FILE_PATH="coverage/prog_a_3$substr.coverage" NAME="substr Coverage Results" MODIFIED="1760450602618" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/Übungen" />
<SUITE FILE_PATH="coverage/prog_a_3$moon.coverage" NAME="moon Coverage Results" MODIFIED="1761654766549" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/Hausaufgaben/ha1" />
<SUITE FILE_PATH="coverage/prog_a_3$args.coverage" NAME="args Coverage Results" MODIFIED="1765286326090" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/Hausaufgaben/Ha4" />
<SUITE FILE_PATH="coverage/prog_a_3$UndoDoodle.coverage" NAME="UndoDoodle Coverage Results" MODIFIED="1765286243951" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/Hausaufgaben/Ha4" />
<SUITE FILE_PATH="coverage/prog_a_3$K_Länge.coverage" NAME="K-Länge Coverage Results" MODIFIED="1765286316761" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/Hausaufgaben/Ha4" />
<SUITE FILE_PATH="coverage/prog_a_3$compute.coverage" NAME="compute Coverage Results" MODIFIED="1761648528333" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/Hausaufgaben" />
<SUITE FILE_PATH="coverage/prog_a_3$timing_Decorator.coverage" NAME="timing-Decorator Coverage Results" MODIFIED="1765286347119" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/Hausaufgaben/Ha4" />
<SUITE FILE_PATH="coverage/prog_a_3$1__Apollo.coverage" NAME="1. Apollo Coverage Results" MODIFIED="1761654757555" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/Hausaufgaben" />
<SUITE FILE_PATH="coverage/prog_a_3$game.coverage" NAME="game Coverage Results" MODIFIED="1761648503086" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/Hausaufgaben" />
</component>
</project>

View File

@ -0,0 +1,3 @@
words = ["Apfel", "Banane", "Kirsche", "Kiwi", "Melone"]
pri=sum(len(word) for word in words if word.startswith("K"))
print(pri)

View File

@ -0,0 +1,58 @@
import pygame
from game import Game
class DrawGame(Game):
def __init__(self):
super().__init__("Zeichenprogramm", fps=60, size=(800, 600))
self.state = []
self.history = []
self.drawing = False
self.current_stroke = []
def handle_event(self, event):
if event.type == pygame.QUIT:
return False
elif event.type == pygame.MOUSEBUTTONDOWN and event.button == 1:
self.drawing = True
self.current_stroke = [event.pos]
elif event.type == pygame.MOUSEBUTTONUP and event.button == 1:
if self.drawing and len(self.current_stroke) > 1:
self.push_history()
new_state = [stroke[:] for stroke in self.state]
new_state.append(self.current_stroke[:])
self.state = new_state
self.drawing = False
self.current_stroke = []
elif event.type == pygame.MOUSEMOTION and self.drawing:
self.current_stroke.append(event.pos)
elif event.type == pygame.KEYDOWN and event.key == pygame.K_BACKSPACE:
if self.history:
self.state = self.history.pop()
return True
def push_history(self):
snapshot = [stroke[:] for stroke in self.state]
self.history.append(snapshot)
if len(self.history) > 5:
self.history.pop(0)
def draw_game(self):
self.screen.fill((255, 255, 255))
for stroke in self.state:
if len(stroke) > 1:
pygame.draw.lines(self.screen, (0, 0, 0), False, stroke, 2)
if self.drawing and len(self.current_stroke) > 1:
pygame.draw.lines(self.screen, (0, 0, 0), False, self.current_stroke, 2)
pygame.display.flip()
if __name__ == "__main__":
DrawGame().run()

6
Hausaufgaben/Ha4/args.py Normal file
View File

@ -0,0 +1,6 @@
t = (1, 2, 3)
print(t)
print(*t)
print(t, 4)
print(*t, 4)

View File

@ -0,0 +1,24 @@
from time import perf_counter as pfc
from functools import wraps
def timing(func):
@wraps(func)
def wrapper(*args, **kwargs):
start = pfc()
result = func(*args, **kwargs)
end = pfc()
print(f"Dauer: {end - start:.4f}s")
return result
return wrapper
@timing
def meine_funktion(n):
total = 0
for i in range(n):
total += i
return total
ergebnis = meine_funktion(1000000)
print("Ergebnis:", ergebnis)