diff --git a/pythonProject2/.idea/inspectionProfiles/Project_Default.xml b/pythonProject2/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4ebeef73e1a72b62075747eb1e5bb3b86786fd87
--- /dev/null
+++ b/pythonProject2/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pythonProject2/.idea/inspectionProfiles/profiles_settings.xml b/pythonProject2/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..105ce2da2d6447d11dfe32bfb846c3d5b199fc99
--- /dev/null
+++ b/pythonProject2/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pythonProject2/.idea/misc.xml b/pythonProject2/.idea/misc.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8cbcddf774a1c2dafe725b8902b676636ae5c1c0
--- /dev/null
+++ b/pythonProject2/.idea/misc.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pythonProject2/.idea/modules.xml b/pythonProject2/.idea/modules.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6a542fcda6668a5fc1372734237d01d2ec1a8eea
--- /dev/null
+++ b/pythonProject2/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pythonProject2/.idea/pythonProject1.iml b/pythonProject2/.idea/pythonProject1.iml
new file mode 100644
index 0000000000000000000000000000000000000000..858c4d5c33d47e00d1447bfc0ed14dc96423be84
--- /dev/null
+++ b/pythonProject2/.idea/pythonProject1.iml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pythonProject2/.idea/workspace.xml b/pythonProject2/.idea/workspace.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2f10c5a972f034242c98f47fbe6f6f777e5c3dfd
--- /dev/null
+++ b/pythonProject2/.idea/workspace.xml
@@ -0,0 +1,136 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {
+ "customColor": "",
+ "associatedIndex": 7
+}
+
+
+
+
+
+ {
+ "keyToString": {
+ "Python.predict.executor": "Run",
+ "RunOnceActivity.OpenProjectViewOnStart": "true",
+ "RunOnceActivity.ShowReadmeOnStart": "true",
+ "WebServerToolWindowFactoryState": "false",
+ "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",
+ "settings.editor.selected.configurable": "com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable",
+ "vue.rearranger.settings.migration": "true"
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1720165940354
+
+
+ 1720165940354
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pythonProject2/7.5/__pycache__/datas.cpython-311.pyc b/pythonProject2/7.5/__pycache__/datas.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..5dde8776c8b53eebfc920939416a849af86ada86
Binary files /dev/null and b/pythonProject2/7.5/__pycache__/datas.cpython-311.pyc differ
diff --git a/pythonProject2/7.5/__pycache__/datas.cpython-312.pyc b/pythonProject2/7.5/__pycache__/datas.cpython-312.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..e064b69b26ed4f0c04a7cb687263bd5b85b9d269
Binary files /dev/null and b/pythonProject2/7.5/__pycache__/datas.cpython-312.pyc differ
diff --git a/pythonProject2/7.5/datas.py b/pythonProject2/7.5/datas.py
new file mode 100644
index 0000000000000000000000000000000000000000..bc18366e20abf85bf7f80d030cb9ba44c319cf1a
--- /dev/null
+++ b/pythonProject2/7.5/datas.py
@@ -0,0 +1,160 @@
+# 经验是来源于数据
+# 大数据 爬虫
+
+# 模拟太原 和吕梁的房价数据
+# 怎么模拟 城市 面积 户型 是不是学区房 装修的风格
+datas=[
+ {
+ "city":"吕梁",
+ "area":110,
+ "rooms":2,
+ "school":1,
+ "style":1,
+ "price":8000
+ },
+ {
+ "city":"吕梁",
+ "area":110,
+ "rooms":2,
+ "school":1,
+ "style":1,
+ "price":7800
+ },
+ {
+ "city":"吕梁",
+ "area":110,
+ "rooms":2,
+ "school":1,
+ "style":1,
+ "price":8200
+
+ },
+ # 模拟
+ {
+ "city": "吕梁",
+ "area": 120,
+ "rooms": 3,
+ "school": 1,
+ "style": 1,
+ "price": 8300
+ },
+ {
+ "city":"吕梁",
+ "area":125,
+ "rooms":3,
+ "school":1,
+ "style":1,
+ "price":8300
+ },
+ {
+ "city":"吕梁",
+ "area":120,
+ "rooms":3,
+ "school":1,
+ "style":1,
+ "price":8600
+ },
+
+{
+ "city": "吕梁",
+ "area": 130,
+ "rooms": 3,
+ "school": 1,
+ "style": 1,
+ "price": 5000
+ },
+ {
+ "city":"吕梁",
+ "area":125,
+ "rooms":3,
+ "school":1,
+ "style":1,
+ "price":5300
+ },
+ {
+ "city":"吕梁",
+ "area":145,
+ "rooms":3,
+ "school":1,
+ "style":1,
+ "price":6300
+ },
+ {
+ "city": "太原",
+ "area": 120,
+ "rooms": 2,
+ "school": 1,
+ "style": 1,
+ "price": 8000
+ },
+ {
+ "city": "太原",
+ "area": 120,
+ "rooms": 2,
+ "school": 1,
+ "style": 1,
+ "price": 7800
+ },
+ {
+ "city": "太原",
+ "area": 120,
+ "rooms": 2,
+ "school": 1,
+ "style": 1,
+ "price": 8200
+
+ },
+ # 模拟
+ {
+ "city": "太原",
+ "area": 135,
+ "rooms": 3,
+ "school": 1,
+ "style": 1,
+ "price": 8300
+ },
+ {
+ "city": "太原",
+ "area": 140,
+ "rooms": 3,
+ "school": 1,
+ "style": 1,
+ "price": 8300
+ },
+ {
+ "city": "太原",
+ "area": 145,
+ "rooms": 3,
+ "school": 1,
+ "style": 1,
+ "price": 8600
+ },
+
+ {
+ "city": "太原",
+ "area": 135,
+ "rooms": 3,
+ "school": 1,
+ "style": 1,
+ "price": 8500
+ },
+ {
+ "city": "太原",
+ "area": 140,
+ "rooms": 3,
+ "school": 1,
+ "style": 1,
+ "price": 8300
+ },
+ {
+ "city": "太原",
+ "area": 145,
+ "rooms": 3,
+ "school": 2,
+ "style": 2,
+ "price": 8600
+ },
+
+
+]
+
diff --git a/pythonProject2/7.5/predict.py b/pythonProject2/7.5/predict.py
new file mode 100644
index 0000000000000000000000000000000000000000..5865e1445b4e4640b1fb8660d2a51f3d6972ecaa
--- /dev/null
+++ b/pythonProject2/7.5/predict.py
@@ -0,0 +1,33 @@
+import numpy as np
+
+# a=np.array([[1,2,3],[1,2,3],[1,2,3]])
+# b=np.array([1,2,3])
+# # 奇异矩阵
+# print(a.dot(b))
+#
+# print(a)
+# print(a.T) # 转置
+# print(np.linalg.pinv(a)) #求逆矩阵
+
+
+from datas import datas
+X=[]
+Y=[]
+cityMark={"吕梁":1,"太原":2}
+for item in datas:
+ single=[]
+ single.append(cityMark[item["city"]])
+ single.append(item["area"])
+ single.append(item["rooms"])
+ single.append(item["school"])
+ single.append(item["style"])
+ X.append(single)
+ Y.append(item["price"])
+
+X=np.array(X)
+Y=np.array(Y)
+
+
+theta=np.linalg.pinv(X.T.dot(X)).dot(X.T).dot(Y)
+print(theta.dot(np.array([1,110,2,1,1])))
+# print(theta)
diff --git a/pythonProject2/main.py b/pythonProject2/main.py
new file mode 100644
index 0000000000000000000000000000000000000000..bf8b9e5374b5682570252d69054cead15da43914
--- /dev/null
+++ b/pythonProject2/main.py
@@ -0,0 +1,16 @@
+# This is a sample Python script.
+
+# Press Shift+F10 to execute it or replace it with your code.
+# Press Double Shift to search everywhere for classes, files, tool windows, actions, and settings.
+
+
+def print_hi(name):
+ # Use a breakpoint in the code line below to debug your script.
+ print(f'Hi, {name}') # Press Ctrl+F8 to toggle the breakpoint.
+
+
+# Press the green button in the gutter to run the script.
+if __name__ == '__main__':
+ print_hi('PyCharm')
+
+# See PyCharm help at https://www.jetbrains.com/help/pycharm/
diff --git a/pythonProject2/venv/Scripts/activate b/pythonProject2/venv/Scripts/activate
new file mode 100644
index 0000000000000000000000000000000000000000..106cf05afd863551cce3c2a63b8d2c5fdbb50994
--- /dev/null
+++ b/pythonProject2/venv/Scripts/activate
@@ -0,0 +1,87 @@
+# This file must be used with "source bin/activate" *from bash*
+# you cannot run it directly
+
+
+if [ "${BASH_SOURCE-}" = "$0" ]; then
+ echo "You must source this script: \$ source $0" >&2
+ exit 33
+fi
+
+deactivate () {
+ unset -f pydoc >/dev/null 2>&1 || true
+
+ # reset old environment variables
+ # ! [ -z ${VAR+_} ] returns true if VAR is declared at all
+ if ! [ -z "${_OLD_VIRTUAL_PATH:+_}" ] ; then
+ PATH="$_OLD_VIRTUAL_PATH"
+ export PATH
+ unset _OLD_VIRTUAL_PATH
+ fi
+ if ! [ -z "${_OLD_VIRTUAL_PYTHONHOME+_}" ] ; then
+ PYTHONHOME="$_OLD_VIRTUAL_PYTHONHOME"
+ export PYTHONHOME
+ unset _OLD_VIRTUAL_PYTHONHOME
+ fi
+
+ # The hash command must be called to get it to forget past
+ # commands. Without forgetting past commands the $PATH changes
+ # we made may not be respected
+ hash -r 2>/dev/null
+
+ if ! [ -z "${_OLD_VIRTUAL_PS1+_}" ] ; then
+ PS1="$_OLD_VIRTUAL_PS1"
+ export PS1
+ unset _OLD_VIRTUAL_PS1
+ fi
+
+ unset VIRTUAL_ENV
+ unset VIRTUAL_ENV_PROMPT
+ if [ ! "${1-}" = "nondestructive" ] ; then
+ # Self destruct!
+ unset -f deactivate
+ fi
+}
+
+# unset irrelevant variables
+deactivate nondestructive
+
+VIRTUAL_ENV='D:\pythonProject1\venv'
+if ([ "$OSTYPE" = "cygwin" ] || [ "$OSTYPE" = "msys" ]) && $(command -v cygpath &> /dev/null) ; then
+ VIRTUAL_ENV=$(cygpath -u "$VIRTUAL_ENV")
+fi
+export VIRTUAL_ENV
+
+_OLD_VIRTUAL_PATH="$PATH"
+PATH="$VIRTUAL_ENV/Scripts:$PATH"
+export PATH
+
+if [ "x" != x ] ; then
+ VIRTUAL_ENV_PROMPT=""
+else
+ VIRTUAL_ENV_PROMPT=$(basename "$VIRTUAL_ENV")
+fi
+export VIRTUAL_ENV_PROMPT
+
+# unset PYTHONHOME if set
+if ! [ -z "${PYTHONHOME+_}" ] ; then
+ _OLD_VIRTUAL_PYTHONHOME="$PYTHONHOME"
+ unset PYTHONHOME
+fi
+
+if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT-}" ] ; then
+ _OLD_VIRTUAL_PS1="${PS1-}"
+ PS1="(${VIRTUAL_ENV_PROMPT}) ${PS1-}"
+ export PS1
+fi
+
+# Make sure to unalias pydoc if it's already there
+alias pydoc 2>/dev/null >/dev/null && unalias pydoc || true
+
+pydoc () {
+ python -m pydoc "$@"
+}
+
+# The hash command must be called to get it to forget past
+# commands. Without forgetting past commands the $PATH changes
+# we made may not be respected
+hash -r 2>/dev/null
diff --git a/pythonProject2/venv/Scripts/activate.bat b/pythonProject2/venv/Scripts/activate.bat
new file mode 100644
index 0000000000000000000000000000000000000000..1aec4ef29bb8cc6d8bf4be0110b45cbf03e05e8b
--- /dev/null
+++ b/pythonProject2/venv/Scripts/activate.bat
@@ -0,0 +1,38 @@
+@set "VIRTUAL_ENV=D:\pythonProject1\venv"
+
+@set "VIRTUAL_ENV_PROMPT="
+@if NOT DEFINED VIRTUAL_ENV_PROMPT (
+ @for %%d in ("%VIRTUAL_ENV%") do @set "VIRTUAL_ENV_PROMPT=%%~nxd"
+)
+
+@if defined _OLD_VIRTUAL_PROMPT (
+ @set "PROMPT=%_OLD_VIRTUAL_PROMPT%"
+) else (
+ @if not defined PROMPT (
+ @set "PROMPT=$P$G"
+ )
+ @if not defined VIRTUAL_ENV_DISABLE_PROMPT (
+ @set "_OLD_VIRTUAL_PROMPT=%PROMPT%"
+ )
+)
+@if not defined VIRTUAL_ENV_DISABLE_PROMPT (
+ @set "PROMPT=(%VIRTUAL_ENV_PROMPT%) %PROMPT%"
+)
+
+@REM Don't use () to avoid problems with them in %PATH%
+@if defined _OLD_VIRTUAL_PYTHONHOME @goto ENDIFVHOME
+ @set "_OLD_VIRTUAL_PYTHONHOME=%PYTHONHOME%"
+:ENDIFVHOME
+
+@set PYTHONHOME=
+
+@REM if defined _OLD_VIRTUAL_PATH (
+@if not defined _OLD_VIRTUAL_PATH @goto ENDIFVPATH1
+ @set "PATH=%_OLD_VIRTUAL_PATH%"
+:ENDIFVPATH1
+@REM ) else (
+@if defined _OLD_VIRTUAL_PATH @goto ENDIFVPATH2
+ @set "_OLD_VIRTUAL_PATH=%PATH%"
+:ENDIFVPATH2
+
+@set "PATH=%VIRTUAL_ENV%\Scripts;%PATH%"
diff --git a/pythonProject2/venv/Scripts/activate.fish b/pythonProject2/venv/Scripts/activate.fish
new file mode 100644
index 0000000000000000000000000000000000000000..d7492c44c772325bebf87f67cd2c6f1978cbd18c
--- /dev/null
+++ b/pythonProject2/venv/Scripts/activate.fish
@@ -0,0 +1,103 @@
+# This file must be used using `source bin/activate.fish` *within a running fish ( http://fishshell.com ) session*.
+# Do not run it directly.
+
+function _bashify_path -d "Converts a fish path to something bash can recognize"
+ set fishy_path $argv
+ set bashy_path $fishy_path[1]
+ for path_part in $fishy_path[2..-1]
+ set bashy_path "$bashy_path:$path_part"
+ end
+ echo $bashy_path
+end
+
+function _fishify_path -d "Converts a bash path to something fish can recognize"
+ echo $argv | tr ':' '\n'
+end
+
+function deactivate -d 'Exit virtualenv mode and return to the normal environment.'
+ # reset old environment variables
+ if test -n "$_OLD_VIRTUAL_PATH"
+ # https://github.com/fish-shell/fish-shell/issues/436 altered PATH handling
+ if test (echo $FISH_VERSION | head -c 1) -lt 3
+ set -gx PATH (_fishify_path "$_OLD_VIRTUAL_PATH")
+ else
+ set -gx PATH $_OLD_VIRTUAL_PATH
+ end
+ set -e _OLD_VIRTUAL_PATH
+ end
+
+ if test -n "$_OLD_VIRTUAL_PYTHONHOME"
+ set -gx PYTHONHOME "$_OLD_VIRTUAL_PYTHONHOME"
+ set -e _OLD_VIRTUAL_PYTHONHOME
+ end
+
+ if test -n "$_OLD_FISH_PROMPT_OVERRIDE"
+ and functions -q _old_fish_prompt
+ # Set an empty local `$fish_function_path` to allow the removal of `fish_prompt` using `functions -e`.
+ set -l fish_function_path
+
+ # Erase virtualenv's `fish_prompt` and restore the original.
+ functions -e fish_prompt
+ functions -c _old_fish_prompt fish_prompt
+ functions -e _old_fish_prompt
+ set -e _OLD_FISH_PROMPT_OVERRIDE
+ end
+
+ set -e VIRTUAL_ENV
+ set -e VIRTUAL_ENV_PROMPT
+
+ if test "$argv[1]" != 'nondestructive'
+ # Self-destruct!
+ functions -e pydoc
+ functions -e deactivate
+ functions -e _bashify_path
+ functions -e _fishify_path
+ end
+end
+
+# Unset irrelevant variables.
+deactivate nondestructive
+
+set -gx VIRTUAL_ENV 'D:\pythonProject1\venv'
+
+# https://github.com/fish-shell/fish-shell/issues/436 altered PATH handling
+if test (echo $FISH_VERSION | head -c 1) -lt 3
+ set -gx _OLD_VIRTUAL_PATH (_bashify_path $PATH)
+else
+ set -gx _OLD_VIRTUAL_PATH $PATH
+end
+set -gx PATH "$VIRTUAL_ENV"'/Scripts' $PATH
+
+# Prompt override provided?
+# If not, just use the environment name.
+if test -n ''
+ set -gx VIRTUAL_ENV_PROMPT ''
+else
+ set -gx VIRTUAL_ENV_PROMPT (basename "$VIRTUAL_ENV")
+end
+
+# Unset `$PYTHONHOME` if set.
+if set -q PYTHONHOME
+ set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME
+ set -e PYTHONHOME
+end
+
+function pydoc
+ python -m pydoc $argv
+end
+
+if test -z "$VIRTUAL_ENV_DISABLE_PROMPT"
+ # Copy the current `fish_prompt` function as `_old_fish_prompt`.
+ functions -c fish_prompt _old_fish_prompt
+
+ function fish_prompt
+ # Run the user's prompt first; it might depend on (pipe)status.
+ set -l prompt (_old_fish_prompt)
+
+ printf '(%s) ' $VIRTUAL_ENV_PROMPT
+
+ string join -- \n $prompt # handle multi-line prompts
+ end
+
+ set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV"
+end
diff --git a/pythonProject2/venv/Scripts/activate.nu b/pythonProject2/venv/Scripts/activate.nu
new file mode 100644
index 0000000000000000000000000000000000000000..2a2c91a29da0d488eb5583c9450dcdcbda19bc94
--- /dev/null
+++ b/pythonProject2/venv/Scripts/activate.nu
@@ -0,0 +1,96 @@
+# virtualenv activation module
+# Activate with `overlay use activate.nu`
+# Deactivate with `deactivate`, as usual
+#
+# To customize the overlay name, you can call `overlay use activate.nu as foo`,
+# but then simply `deactivate` won't work because it is just an alias to hide
+# the "activate" overlay. You'd need to call `overlay hide foo` manually.
+
+export-env {
+ def is-string [x] {
+ ($x | describe) == 'string'
+ }
+
+ def has-env [...names] {
+ $names | each {|n|
+ $n in $env
+ } | all {|i| $i == true}
+ }
+
+ # Emulates a `test -z`, but btter as it handles e.g 'false'
+ def is-env-true [name: string] {
+ if (has-env $name) {
+ # Try to parse 'true', '0', '1', and fail if not convertible
+ let parsed = (do -i { $env | get $name | into bool })
+ if ($parsed | describe) == 'bool' {
+ $parsed
+ } else {
+ not ($env | get -i $name | is-empty)
+ }
+ } else {
+ false
+ }
+ }
+
+ let virtual_env = 'D:\pythonProject1\venv'
+ let bin = 'Scripts'
+
+ let is_windows = ($nu.os-info.family) == 'windows'
+ let path_name = (if (has-env 'Path') {
+ 'Path'
+ } else {
+ 'PATH'
+ }
+ )
+
+ let venv_path = ([$virtual_env $bin] | path join)
+ let new_path = ($env | get $path_name | prepend $venv_path)
+
+ # If there is no default prompt, then use the env name instead
+ let virtual_env_prompt = (if ('' | is-empty) {
+ ($virtual_env | path basename)
+ } else {
+ ''
+ })
+
+ let new_env = {
+ $path_name : $new_path
+ VIRTUAL_ENV : $virtual_env
+ VIRTUAL_ENV_PROMPT : $virtual_env_prompt
+ }
+
+ let new_env = (if (is-env-true 'VIRTUAL_ENV_DISABLE_PROMPT') {
+ $new_env
+ } else {
+ # Creating the new prompt for the session
+ let virtual_prefix = $'(char lparen)($virtual_env_prompt)(char rparen) '
+
+ # Back up the old prompt builder
+ let old_prompt_command = (if (has-env 'PROMPT_COMMAND') {
+ $env.PROMPT_COMMAND
+ } else {
+ ''
+ })
+
+ let new_prompt = (if (has-env 'PROMPT_COMMAND') {
+ if 'closure' in ($old_prompt_command | describe) {
+ {|| $'($virtual_prefix)(do $old_prompt_command)' }
+ } else {
+ {|| $'($virtual_prefix)($old_prompt_command)' }
+ }
+ } else {
+ {|| $'($virtual_prefix)' }
+ })
+
+ $new_env | merge {
+ PROMPT_COMMAND : $new_prompt
+ VIRTUAL_PREFIX : $virtual_prefix
+ }
+ })
+
+ # Environment variables that will be loaded as the virtual env
+ load-env $new_env
+}
+
+export alias pydoc = python -m pydoc
+export alias deactivate = overlay hide activate
diff --git a/pythonProject2/venv/Scripts/activate.ps1 b/pythonProject2/venv/Scripts/activate.ps1
new file mode 100644
index 0000000000000000000000000000000000000000..bf4b0b7c1f746721fcdb55bb756788b46a7b4001
--- /dev/null
+++ b/pythonProject2/venv/Scripts/activate.ps1
@@ -0,0 +1,61 @@
+$script:THIS_PATH = $myinvocation.mycommand.path
+$script:BASE_DIR = Split-Path (Resolve-Path "$THIS_PATH/..") -Parent
+
+function global:deactivate([switch] $NonDestructive) {
+ if (Test-Path variable:_OLD_VIRTUAL_PATH) {
+ $env:PATH = $variable:_OLD_VIRTUAL_PATH
+ Remove-Variable "_OLD_VIRTUAL_PATH" -Scope global
+ }
+
+ if (Test-Path function:_old_virtual_prompt) {
+ $function:prompt = $function:_old_virtual_prompt
+ Remove-Item function:\_old_virtual_prompt
+ }
+
+ if ($env:VIRTUAL_ENV) {
+ Remove-Item env:VIRTUAL_ENV -ErrorAction SilentlyContinue
+ }
+
+ if ($env:VIRTUAL_ENV_PROMPT) {
+ Remove-Item env:VIRTUAL_ENV_PROMPT -ErrorAction SilentlyContinue
+ }
+
+ if (!$NonDestructive) {
+ # Self destruct!
+ Remove-Item function:deactivate
+ Remove-Item function:pydoc
+ }
+}
+
+function global:pydoc {
+ python -m pydoc $args
+}
+
+# unset irrelevant variables
+deactivate -nondestructive
+
+$VIRTUAL_ENV = $BASE_DIR
+$env:VIRTUAL_ENV = $VIRTUAL_ENV
+
+if ("" -ne "") {
+ $env:VIRTUAL_ENV_PROMPT = ""
+}
+else {
+ $env:VIRTUAL_ENV_PROMPT = $( Split-Path $env:VIRTUAL_ENV -Leaf )
+}
+
+New-Variable -Scope global -Name _OLD_VIRTUAL_PATH -Value $env:PATH
+
+$env:PATH = "$env:VIRTUAL_ENV/Scripts;" + $env:PATH
+if (!$env:VIRTUAL_ENV_DISABLE_PROMPT) {
+ function global:_old_virtual_prompt {
+ ""
+ }
+ $function:_old_virtual_prompt = $function:prompt
+
+ function global:prompt {
+ # Add the custom prefix to the existing prompt
+ $previous_prompt_value = & $function:_old_virtual_prompt
+ ("(" + $env:VIRTUAL_ENV_PROMPT + ") " + $previous_prompt_value)
+ }
+}
diff --git a/pythonProject2/venv/Scripts/activate_this.py b/pythonProject2/venv/Scripts/activate_this.py
new file mode 100644
index 0000000000000000000000000000000000000000..cdef4d72071a4b99a1300e1444905784433179d6
--- /dev/null
+++ b/pythonProject2/venv/Scripts/activate_this.py
@@ -0,0 +1,36 @@
+"""
+Activate virtualenv for current interpreter:
+
+Use exec(open(this_file).read(), {'__file__': this_file}).
+
+This can be used when you must use an existing Python interpreter, not the virtualenv bin/python.
+""" # noqa: D415
+from __future__ import annotations
+
+import os
+import site
+import sys
+
+try:
+ abs_file = os.path.abspath(__file__)
+except NameError as exc:
+ msg = "You must use exec(open(this_file).read(), {'__file__': this_file}))"
+ raise AssertionError(msg) from exc
+
+bin_dir = os.path.dirname(abs_file)
+base = bin_dir[: -len("Scripts") - 1] # strip away the bin part from the __file__, plus the path separator
+
+# prepend bin to PATH (this file is inside the bin directory)
+os.environ["PATH"] = os.pathsep.join([bin_dir, *os.environ.get("PATH", "").split(os.pathsep)])
+os.environ["VIRTUAL_ENV"] = base # virtual env is right above bin directory
+os.environ["VIRTUAL_ENV_PROMPT"] = "" or os.path.basename(base) # noqa: SIM222
+
+# add the virtual environments libraries to the host python import mechanism
+prev_length = len(sys.path)
+for lib in "..\\Lib\\site-packages".split(os.pathsep):
+ path = os.path.realpath(os.path.join(bin_dir, lib))
+ site.addsitedir(path.decode("utf-8") if "" else path)
+sys.path[:] = sys.path[prev_length:] + sys.path[0:prev_length]
+
+sys.real_prefix = sys.prefix
+sys.prefix = base
diff --git a/pythonProject2/venv/Scripts/deactivate.bat b/pythonProject2/venv/Scripts/deactivate.bat
new file mode 100644
index 0000000000000000000000000000000000000000..24a03a3f2fc5d15050f9897b9fe53e2c1319af69
--- /dev/null
+++ b/pythonProject2/venv/Scripts/deactivate.bat
@@ -0,0 +1,18 @@
+@set VIRTUAL_ENV=
+@set VIRTUAL_ENV_PROMPT=
+
+@REM Don't use () to avoid problems with them in %PATH%
+@if not defined _OLD_VIRTUAL_PROMPT @goto ENDIFVPROMPT
+ @set "PROMPT=%_OLD_VIRTUAL_PROMPT%"
+ @set _OLD_VIRTUAL_PROMPT=
+:ENDIFVPROMPT
+
+@if not defined _OLD_VIRTUAL_PYTHONHOME @goto ENDIFVHOME
+ @set "PYTHONHOME=%_OLD_VIRTUAL_PYTHONHOME%"
+ @set _OLD_VIRTUAL_PYTHONHOME=
+:ENDIFVHOME
+
+@if not defined _OLD_VIRTUAL_PATH @goto ENDIFVPATH
+ @set "PATH=%_OLD_VIRTUAL_PATH%"
+ @set _OLD_VIRTUAL_PATH=
+:ENDIFVPATH
diff --git a/pythonProject2/venv/Scripts/f2py.exe b/pythonProject2/venv/Scripts/f2py.exe
new file mode 100644
index 0000000000000000000000000000000000000000..3bec9ad6e8ca24ae3262de0f3033e21bd88d61a3
Binary files /dev/null and b/pythonProject2/venv/Scripts/f2py.exe differ
diff --git a/pythonProject2/venv/pyvenv.cfg b/pythonProject2/venv/pyvenv.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..987fed1bc677ce0176d39b24c3daa34071a54d10
--- /dev/null
+++ b/pythonProject2/venv/pyvenv.cfg
@@ -0,0 +1,8 @@
+home = D:\python
+implementation = CPython
+version_info = 3.12.0.final.0
+virtualenv = 20.24.5
+include-system-site-packages = false
+base-prefix = D:\python
+base-exec-prefix = D:\python
+base-executable = D:\python\python.exe