STROJNISTVO.com • Poglej temo - python

python

Tukaj lahko objavite kakršnokoli šalo, anekdoto ali kaj drugega na temo strojnikov v industriji ali na sploh.


Moderator: -M-

Re: python

OdgovorNapisal/-a Duroplast » 29.10.2025 9:54

ktm2002 napisal/-a:A kdo v resnici programira na šihtu?



Ja... python je orodje ki ti s pravimi knjižnicami lahko avtomatizira obdelavo podatkov. Najbolj uporaben je kot zamenjava za Excel ko bi rad iz podatkov potegnil kaj pametnega. Še posebje če si podatke pridobil z merilno kartico in jih dobil izvožene v CSV datoteki kjer imaš preko 500.000 vrstic (Excel pozabi)

Odličen je za preračune, če znaš fizikalni model prepisati matematično.

Moj nasvet bi bil, da si vsak potegne zadnjo verzijo Anaconde in prične s pisanjem kratkih zvezkov:

Za začetek lahko v jupyter ampak za karkoli resnega takoj preklopi v Spyder. Programe shranjujete v formatu .py in jih poganjate s spyderjem, lahko pa tudi z Anaconda Shell če se komu tožijo časi UNIX-a.

Kar se tiče knjig... so rahlo zabijanje časa. S Chat-GPT, Copilot, ali katerimkoli drugim LLM se pričnite pogovarjati o konkretnih problemih in prosite za razlage v kodi. LLM modeli umetne inteligence se tu izkažejo kot hitri vodič skozi dostopno dokumentacijo programskega jezika.

Za samo programiranje niso tako zelo bistri ampak se pa da nek prototip kode narest če imaš navodila dovolj eksplicitna.

Največ se naučiš če delaš "hands on" primere. Torej delaš stvari v praksi. Pomjnenje sintaks na pamet je mal brezveze ker se tudi jeziki spreminjajo na 10 let... ampak s časom se itak naučiš kjer postavljati podpičja, oklepaje, kako uporabljati sezname, terke, ... zanke.

Tko kokr pri vsaki stvari. Namesto da zabiješ pol leta da se odločiš kakšen pristop boš uporabil začneš delat, par zvezkov vržeš beg ali v arhiv in enkrat na mesec napišeš na novo. Tako iterativno izboljšuješ kodo.

Če v prvo ne napišeš popolnega izdelka, who gives a shit ? Naredi delujoč prototip. Kasneje ga probaj z AI asistenti izboljšati. Ni važno kateri programski jezik uporabljaš. Ampak s Pythonom se da za razvojno raziskovalni kšeft narest že skoraj vse če si se le pripravljen pogolbit v primere.

Ne verjemi vsemu, kar piše na internetu. (France Prešern, 1845)
Duroplast
Strokovnjak
Strokovnjak
 
Prispevkov: 695
Pridružen: 30.4.2016 11:50

Re: python

OdgovorNapisal/-a Pek » 29.10.2025 19:45

Katere knjižice pa recimo največ uporabljaš? Predvidevam da kak pandas, numpy, scypy,...?
Pek
Strokovnjak
Strokovnjak
 
Prispevkov: 98
Pridružen: 4.3.2021 20:17

Re: python

OdgovorNapisal/-a Duroplast » 30.10.2025 10:39

Pek napisal/-a:Katere knjižice pa recimo največ uporabljaš? Predvidevam da kak pandas, numpy, scypy,...?


Največ: Pandas, os, numpy, tkinter in matplotlib - dodatno lahko Seaborn za lepše izrise.

ANACONDA paket ima v bistvu vse naštete že nameščene, sicer pa po potrebi dodajaš.

recimo...
Anaconda shell:
pip install numpy

Uradna stran:
https://www.anaconda.com/download

Ne verjemi vsemu, kar piše na internetu. (France Prešern, 1845)
Duroplast
Strokovnjak
Strokovnjak
 
Prispevkov: 695
Pridružen: 30.4.2016 11:50

Re: python

OdgovorNapisal/-a ktm2002 » 30.10.2025 16:54

Anaconda mi ni delala... chatgpt mi ni znal popraviti.

pyCharm mi zgleda kompliciran in jupyter ni v zastonj verziji integriran.

Na koncu sem na Visualcode ostal, pa se poznam iz tecajev.
ktm2002
Strokovnjak
Strokovnjak
 
Prispevkov: 432
Pridružen: 12.5.2016 9:47

Re: python

OdgovorNapisal/-a Pek » 7.4.2026 13:21

Sem rekel, da morem tole napisat na forum.
S pythonom sem v službi naredil program, ki mi iterativno pregleda vhodne profile in mi nazaj vrne najbolj optimalno konstrukcijo glede na moje zahteve. Torej imam steber, na katerem visita dve roki zaporedno in na koncu spet eno vertikalno roko (v bistvu sem v drugi temi spraševal nekaj glede tega projekta). V program sem dal seznam okroglih cevi, in enačbe za končno deflekcijo celotne konstrukcije v dveh obremenitvenih stanjih. Na seznamu je 896 profillov, kar pomeni, da program pregleda 6x10^11 konfiguracij, oziroma 896^4 z drugimi besedami!!! Cilj je deflekcija in minimum mase.
Najboljša zgodba je ta, da to naredi v približno 15minutah... Meni je tole blazno.
Pek
Strokovnjak
Strokovnjak
 
Prispevkov: 98
Pridružen: 4.3.2021 20:17

Re: python

OdgovorNapisal/-a grega09 » 7.4.2026 22:46

Koliko je pa boljši od tvoje hitre izbire?
grega09
Strokovnjak
Strokovnjak
 
Prispevkov: 2191
Pridružen: 7.4.2005 21:47

Re: python

OdgovorNapisal/-a Pek » 8.4.2026 6:38

Najprej naj povem, da tukaj šteje vsak kilogram.
Drugače pa mi je program vrgel ven profile, ki so bili lažji od mojih preliminarnih za faktor 2,5x po absolutni masi (kar pomeni, da so VSI profili optimirani, vključno s stebrom). To je dalo profile velikega, nepraktičnega preseka (eden izmed robnih pogojev je bil tudi ta, da mi vrne profile klase 1 ali 2 po Eurocodu), zato sem ga omejil na nekaj praktičnega, hkrati pa začel gledati samo relativne oziroma gibajoče mase in če primerjam gibajoče mase moje preliminarne izbire z optimirano, so le te manjše za faktor 2x.
Pek
Strokovnjak
Strokovnjak
 
Prispevkov: 98
Pridružen: 4.3.2021 20:17

Re: python

OdgovorNapisal/-a Žerjavar » 8.4.2026 7:02

Pek napisal/-a: profile, ki so bili lažji od mojih preliminarnih za faktor 2,5x po absolutni masi (kar pomeni, da so VSI profili optimirani, vključno s stebrom). To je dalo profile velikega, nepraktičnega preseka

Zelo zanimivo - 2,5 x. Predvidevam možnosti: programsko predvidena kvaliteta materjala ni v skladu z željeno, tvoja hitra približna ugotovitev precej odstopa od realne potrebe, uporabil je tudi profile, ki jih ti nisi imel (predvideval) na razpolago.
PS: Sem se pred leti ukvarjal z optimizacijo konstrukcije ostrešja (lata, špirovec, upogibna lega) z naprej predvidenim razmakom lat. Moj približni račun je dal več lesa kot program: za do 15% od podanih realnih dimenzij nosilcev (do 10 cm po 1 cm, nad 10 cm po 2 cm), za do 26 % od podanih dimenzij brez zaokroženja.
Vrtičkarstvo je boljše od žerjavarstva
Žerjavar
Strokovnjak
Strokovnjak
 
Prispevkov: 8696
Pridružen: 19.5.2007 14:33

Re: python

OdgovorNapisal/-a Duroplast » 8.4.2026 8:36

Žerjavar napisal/-a:
Pek napisal/-a: profile, ki so bili lažji od mojih preliminarnih za faktor 2,5x po absolutni masi (kar pomeni, da so VSI profili optimirani, vključno s stebrom). To je dalo profile velikega, nepraktičnega preseka

Zelo zanimivo - 2,5 x. Predvidevam možnosti: programsko predvidena kvaliteta materjala ni v skladu z željeno, tvoja hitra približna ugotovitev precej odstopa od realne potrebe, uporabil je tudi profile, ki jih ti nisi imel (predvideval) na razpolago.
PS: Sem se pred leti ukvarjal z optimizacijo konstrukcije ostrešja (lata, špirovec, upogibna lega) z naprej predvidenim razmakom lat. Moj približni račun je dal več lesa kot program: za do 15% od podanih realnih dimenzij nosilcev (do 10 cm po 1 cm, nad 10 cm po 2 cm), za do 26 % od podanih dimenzij brez zaokroženja.


Ko programiraš mu lahko nastaviš knjižnico, da izbira samo med profili ki jih dejansko imaš na razpolago. TO je recimo omejitev, ki jo je dobro uporabiti tako dejansko delaš tudi na manj teoretično možnih primerih.

Ne verjemi vsemu, kar piše na internetu. (France Prešern, 1845)
Duroplast
Strokovnjak
Strokovnjak
 
Prispevkov: 695
Pridružen: 30.4.2016 11:50

Re: python

OdgovorNapisal/-a Pek » 8.4.2026 8:48

Programu sem dal iste vhodne podatke, kot sem jih imel jaz, ko sem se lotil prvih kalkulacij v Excelu (z njegovim solverjem). Ta excelova zadeva ni bila tako dobra, ampak služila je kot neka osnova za preračun. Vemo pa, da poves in rotacija vsakega posameznega elementa bistveno vpliva na končni poves konstrukcije, zato je "peš (čeprav je osnovan na neki drugi numeriki)" preračun skoraj nemogoč, če iščem optimum.
Moja koda je kombinatorično preverila vsako konfiguracijo 4 profilov in izločevala tiste, ki presegajo ciljni poves, shranijo se tisti, ki dosegajo te vrednosti. Nato so podatki prefiltrirani glede na teže, nato se pa tem "izbranim" preračunajo napetosti in ostale zadeve, ki so me zanimale.
Pek
Strokovnjak
Strokovnjak
 
Prispevkov: 98
Pridružen: 4.3.2021 20:17

Re: python

OdgovorNapisal/-a Pek » 8.4.2026 8:50

Duroplast napisal/-a:
Žerjavar napisal/-a:
Pek napisal/-a: profile, ki so bili lažji od mojih preliminarnih za faktor 2,5x po absolutni masi (kar pomeni, da so VSI profili optimirani, vključno s stebrom). To je dalo profile velikega, nepraktičnega preseka

Zelo zanimivo - 2,5 x. Predvidevam možnosti: programsko predvidena kvaliteta materjala ni v skladu z željeno, tvoja hitra približna ugotovitev precej odstopa od realne potrebe, uporabil je tudi profile, ki jih ti nisi imel (predvideval) na razpolago.
PS: Sem se pred leti ukvarjal z optimizacijo konstrukcije ostrešja (lata, špirovec, upogibna lega) z naprej predvidenim razmakom lat. Moj približni račun je dal več lesa kot program: za do 15% od podanih realnih dimenzij nosilcev (do 10 cm po 1 cm, nad 10 cm po 2 cm), za do 26 % od podanih dimenzij brez zaokroženja.


Ko programiraš mu lahko nastaviš knjižnico, da izbira samo med profili ki jih dejansko imaš na razpolago. TO je recimo omejitev, ki jo je dobro uporabiti tako dejansko delaš tudi na manj teoretično možnih primerih.


Seznam profilov sem importiral kot CSV, kjer sem nato črtal ven "neumne" profile, torej tiste, ki avtomatsko odpadejo (premajhni in pa preveliki). Šele tedaj sem dobil užitne zadeve ven.
Pek
Strokovnjak
Strokovnjak
 
Prispevkov: 98
Pridružen: 4.3.2021 20:17

Re: python

OdgovorNapisal/-a Žerjavar » 8.4.2026 9:11

Razlog za 2,5 x?
Ali je večina predlaganih profilov za 2 (ali več) stopnji manjša od tvojih približnih?
Kvaliteta materjala?
Varnost do rušitve (meje plastičnosti)?
Vrtičkarstvo je boljše od žerjavarstva
Žerjavar
Strokovnjak
Strokovnjak
 
Prispevkov: 8696
Pridružen: 19.5.2007 14:33

Re: python

OdgovorNapisal/-a Pek » 8.4.2026 9:47

Mogoče nisem bil dovolj jasen. Profili, ki sem jih jaz izbral po peš preračunu, so 2,5x težji od tega, kar mi je potem moj program dal ven na iste vhodne podatke.
Pek
Strokovnjak
Strokovnjak
 
Prispevkov: 98
Pridružen: 4.3.2021 20:17

Re: python

OdgovorNapisal/-a Žerjavar » 8.4.2026 10:21

Pek napisal/-a:Mogoče nisem bil dovolj jasen. .

To sem povsem jasno razumel. Ni pa sprejemljiva tako velika razlika. Rad bi vedel vzrok zanjo; ali verjeti približnemu računu ali pridobljenemu programu, za katerega nimaš pojma, kaj in kako računa. Zame bi bilo sprejemljiva razlika količine (kg) materjala do 50% = 1,5 x. Temu programu nebi prisodil verodostojnosti , verjamem v svojo pravilnost peš izračuna (z odstopanjem približnega).
Vrtičkarstvo je boljše od žerjavarstva
Žerjavar
Strokovnjak
Strokovnjak
 
Prispevkov: 8696
Pridružen: 19.5.2007 14:33

Re: python

OdgovorNapisal/-a ManiaC » 8.4.2026 10:39

Program je dober toliko kot je dobro sprogramiran.

Program upošteva zgolj enačbe, ter tvoje predpostavke.

Sam sicer kdaj kaj naredim v c#, ter pythonu.

Po mojih izkušnjah je python "počasen", ter tudi neprijazen za debugging. Tudi sam "visual coding" v microsoft visual studio je za začetnika veliko lažji, kot pa recimo uporaba TKinter modula v pythonu.

Mi je pa recimo AI Gemini naredil v pythonu program, kateremu podaš folder path in potem preimenuje vse datoteke od zadnjega "+" , tako da zbriše vse pred zadnjim "+" znakom.

Mislim, da nisem sam naredil nobenega popravka, mislim, da sem samo popravek 3x dal Gemini, da je bilo kot sem sam želel...

Koda: Izberi vse
import os
import tkinter as tk
from tkinter import filedialog, messagebox

def rename_files():
    # 1. Get the folder path from the input field
    folder_path = entry.get()
   
    if not folder_path or not os.path.isdir(folder_path):
        messagebox.showerror("Error", "Please provide a valid folder path.")
        return

    try:
        count = 0
        for filename in os.listdir(folder_path):
            # Check if '+' exists in the filename to avoid errors
            if '+' in filename:
                # Find the index of the last '+' character
                last_plus_index = filename.rfind('+')
               
                # Create the new name (everything after the last '+')
                new_name = filename[last_plus_index + 1:]
               
                # Define full source and destination paths
                old_file = os.path.join(folder_path, filename)
                new_file = os.path.join(folder_path, new_name)

                # Rename the file
                os.rename(old_file, new_file)
                count += 1
       
        messagebox.showinfo("Success", f"Finished! Renamed {count} files.")
    except Exception as e:
        messagebox.showerror("Error", f"An error occurred: {e}")

def browse_folder():
    selected_directory = filedialog.askdirectory()
    if selected_directory:
        entry.delete(0, tk.END)
        entry.insert(0, selected_directory)

# --- GUI Setup ---
root = tk.Tk()
root.title("Batch File Renamer")
root.geometry("500x150")

tk.Label(root, text="Select Folder Path:").pack(pady=10)

frame = tk.Frame(root)
frame.pack(padx=20, fill='x')

entry = tk.Entry(frame)
entry.pack(side='left', expand=True, fill='x', padx=(0, 5))

browse_btn = tk.Button(frame, text="Browse", command=browse_folder)
browse_btn.pack(side='right')

rename_btn = tk.Button(root, text="Rename Files", command=rename_files, bg="#4CAF50", fg="white")
rename_btn.pack(pady=20)

root.mainloop()


Pač enostaven program, ki pa bi ga sam sigurno dlje programiral, kot pa tistih 10min obremenjevanja z Gemini :)

Na koncu sem mu rekel, naj mi naredi še exe datoteko, da lahko to zaženejo vsi ne samo tisti z python library inštalacijo...
ManiaC
Strokovnjak
Strokovnjak
 
Prispevkov: 1251
Pridružen: 19.2.2005 10:41
Kraj: Celje

PrejšnjaNaslednja

Vrni se na Iz življenja strojnikov

Kdo je na strani

Po forumu brska: 0 registriranih uporabnikov in 2 gostov