- Probléma DVD/CD íróval
- Leiskolázná a mezőnyt az új Samsung csúcs-SoC
- Kevés helyet hagyott a tápkonnektor körül a világ legdrágább csúcs-VGA-ja?
- TCL LCD és LED TV-k
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Milyen belső merevlemezt vegyek?
- Milyen TV-t vegyek?
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Majdnem megfelezi a GeForce GPU-k gyártókapacitását az NVIDIA?
- ZIDOO médialejátszók
Új hozzászólás Aktív témák
-
samujózsi
senior tag
Ez copy-paste? Mert a holvan=helyseg akkor... nem túl nyerő.
Bocs, most mennem kell, ha nem ez a gond, akkor majd este, feltéve, hogy fel tudom éleszteni a mysql szerverem.Egyébként ez melyik python?
Mert én csak 3-ast használok, ahhoz meg nem találtam MySQLdb modult, csak pyMySQL-t. -
válasz
samujózsi
#2497
üzenetére
Bocsánat ha nem egészen érthetően fogalmaztam

Szóval egy Funkció argumentumából szeretném átadni neki ez a változót
tehát ezért nem volt idézőjelben.
De debugoláskor próbáltam úgy is, és ugyan azt az eredményt kaptam.
Ha beírom a selectbe, úgy a megfelelő eredményt kapom
de így néz ki a teljes nem működő kód:def vanalert(holvan):db = MySQLdb.connect("localhost","user","jelszó","dbname",charset="utf8",use_unicode=True)holvan = helysegcursor = db.cursor()cursor.execute("""SELECT %s FROM weather_alert""",(helyseg, ) )results = cursor.fetchall()for row in results:darab = row[1]return darab -
Sziasztok,
pythonba szeretnék SQL selectet futtatni.
Eddig semmi bonyolultság nincs számomra, de azt szeretném hogy az oszlopnév legyen a változócursor.execute("""SELECT %s FROM tabla""", (oszlop1, ))
És ez így valamiért nem működik. Ilyenkor mindig azt kapom vissza eredménynek hogy oszlop1. Vagy ha bármit beírok oda akkor bármitUgyan ez a tábla névvel működik, de valamiért itt nem.
cursor.execute("""SELECT kutya FROM %s""", (tabla, ))
tudna valaki segíteni mit nézek be, vagy mit csinálok rosszul?
MySQLdb-t használok -
Janos46
tag
Sziasztok!
Szórakozásképen elkezdtem kocka, gömb, gúla és társainak számítását programban megírni, és a dolog a végén odáig fajult, hogy teljesen belemélyedtem. A végén 12 testnek készítettem el a programját úgy, hogy mindez egyetlen fájlba van. Menüből lehet kiválasztani, hogy melyiket szeretnénk futtatni. A program eléggé testes lett (504 sor), mert többféle módon lehet számolni, ezen felül hibás adatbevitelre is figyel és figyelmeztet. Minden számításhoz behívja a megfelelő elem rajzát is a jobb megérthetőség miatt. Tudom, ez nem egy komoly munka, de nekem tanulni megteszi, és hátha valakinek ez is jelenhet némi segítséget. Ha bárki mégis megtekintené, nagyon kérem, hogy feltétlenül írja meg a benne található hibákat, ha lehetne ne csak mint hibát vagy egyszerűsítési lehetőséget vagy ha bármilyen javaslata van, hanem konkrét megoldást. (Persze a javaslatot is nagyon szívesem veszem). Nagyon megköszönném, mert így tanulnák belőle.
A programot felteszem a dropbox-ba Mertani_testek.zip formában. Hozzáférhetőség:
https://www.dropbox.com/s/eijfcqgrnxhjq74/Mertani_testek.zip?dl=0 -
cigam
titán
-
samujózsi
senior tag
válasz
#68216320
#2482
üzenetére
A nyelvet vagy a hozzá tartozó keretrendszereket?
A nyelv (szerintem) elég primitív a szó jó értelmében, nincs annyira elbonyolítva, mint néhány más nyelv.
Ha a mélységeibe is bele akarod ásni magad, akkor azért lesz mit tanulni.Tutorialt milyet szeretnél? Magyart vagy angolt? Magyarul sajnos csak 2.x verzióhoz érhető el könyv (pontosabban én nem ismerek mást), angolul van rengeteg. Nem a legjobb talán, de nulláról kezdőknek én a https://www.tutorialspoint.com/python3/index.htm oldalt szoktam ajánlani.
-
#68216320
törölt tag
Mennyire lenne nehéz Php/Java ismerettel Python-t tanulni? Gyorsan menne vagy sok energiába fog kerülni szerintetek? (mert ez alapján kell terveznem a következő időszakot) Machine Learning miatt lenne szükségem erre a nyelvre.
Illetve milyen tananyagot ajánlanátok a kezdéshez?
-
samujózsi
senior tag
válasz
Janos46
#2478
üzenetére
Valahova a program elejére egy
# encoding: utf-8
sort tegyél be!
Egyébként meg erősen javasolt lenne python3-ra váltani.
Ja, ha a fenti komment sor beszúrása nem segít, akkor a stringeknél jelezd, hogy unicode-ot használsz:u"Meddigvárjak:"
Mindez persze azt feltételezi, hogy a szövegszerkesztőd unicode karakterekkel dolgozik. -
Janos46
tag
Lemaradt, ezt szerettem volna futtatni.
import matha,b=5,7c=a*b,a+bprint("Az eredmény: ",c)print("Eleget agyaltál, sör a hűtőbe -
Janos46
tag
Sziasztok!
Mivel már tudom hogyan lehet(ne) programból indítani egy másikat, sikertelenség lett az eredmény. Próba képen az alábbi egyszerű progit indítottam volna, de a következő hibaüzenettel jött vissza:
File "3.py", line 4
SyntaxError: Non-ASCII character '\xc3' in file 3.py on line 4, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
Próbálkoztam a forráskód dekódolójával is, de nem sok eredménnyel. Tudna valaki megoldást rá? Mellékelem a két programot.import osimport sysimport timex=int(input("Meddig várjak: "))for i in range(x,0,-1):sys.stdout.write(str(i)+' ')sys.stdout.flush()time.sleep(1)print("\r")print("Letelt az idő, indítom a 3.py-t")os.system('python 3.py') -
axioma
veterán
válasz
Janos46
#2472
üzenetére
Hasznald a programkod formazast (< / > jel a smiley-k felett).
Akkor ilyen lesz:from time import sleep
x=int(input("Meddig várjak: "))
for i in range(x,0,-1): # így számol visszafelé 0,-1
print(i, "sec", end="") # Kiírja a számlálás számát
sleep(1) # Várakozik 1 másodpercet
print("\r", end="") # Törli a számot
print("Letelt az idő") -
Janos46
tag
Sziasztok, megköszönném ha felhomályosítanátok, hogy hogyan kell az alábbi programból annak lejártakkor indítani egy másikat. Remélem itt a behúzások jók, ezzel mindig küzdök. Feladtam!!!! A 4,5 ,6-nál behúzás van.
HÚÚÚÚÚ, lehet törülni a idiótaságaimat?from time import sleep
x=int(input("Meddig várjak: "))
for i in range(x,0,-1): # így számol visszafelé 0,-1
print(i, "sec", end="") # Kiírja a számlálás számát
sleep(1) # Várakozik 1 másodpercet
print("\r", end="") # Törli a számot
print("Letelt az idő") -
kem
addikt
válasz
samujózsi
#2464
üzenetére
Van par scriptunk ami cronjobbol fut egy serveren es a kimenetet sima filebe iranyitottak eddig. Ezeket fogjkuk most Logstash-el ELK-ba iranyitani es mielott grok pattern-t rahuzzuk a feldolgozando fileokra. a kimeneteket megprobalom szabvanyositani. Kesobb rendes logolast is atnezem majd de meg csak nemreg kezdtem Pythont tanulni 0-rol.
-
kem
addikt
Sziasztok!
A kovetkezo bash sort hogyan tudnam python print-be athelyenzni? a Log kimenetet kene szabvanyra formaznom, hogy a kozponti logkezelo normalisan kezelje:echo "$(date +'%F %T') - $(basename "$0")- blablabla"Nagyon szepen koszonom a segitseget elore is! -
-
samujózsi
senior tag
Olyan feladatokra, hogy egyébként csak konzolos parancsokhoz készítsek webes GUI-t, érdemes pythont használni? Leginkább lekérdező, monitorozó jellegű feladatokhoz, user input maximum pár szűrőfeltétel az outputok szűréséhez.
Ha igen, van mostanában ajánlott keretrendszer, ami nem django?
Inkább valami microframeworkre gondolnék, de amikor bele akartam vágni a flask megismerésébe, akkor egy ismerős lebeszélt, hogy nem támogatja az asyncio-t (
)
De akkor mit?
Van a django-n és a flask-en kívül olyan, ami rendelkezik komolyabb közösségi támogatással is? (tehát adott esetben akár a stackoverflow-n vagy hasonló helyen is tudják, miről beszélek, ha ott akarok kérdezni?) -
sonar
addikt
válasz
velizare
#2455
üzenetére
Sajnos nincs ilyen pro DBA-s ismerősöm. A legtöbb válasz meg, hogy amíg a db szerver bírja addig nem érdekel senkit, hogy az alkalmazott megoldás mennyire hatékony. Eddig én is azt a "hagyományt" követtem, hogy nyitom, elvégzem amit kell majd zárom a kapcsolatot. Csak elmélkedek. Egy egész jó kis iromány a témában: [link]
-
igazából mit spórolsz azon, ha nyitva tartod a kapcsolatot? időt. ha szükséged van arra a pár tized/századmásodpercre, amíg egy kapcsolat és egy session megnyitása és beállítása tart, akkor hagyd nyitva. minden más esetben csak problémát tud okozni, ha valamiért nyitva marad.
erről egyébként a legtöbb dba elég sokat tud neked mesélni, mindegyik találkozott már olyan programmal, ahol ez nem volt kezelve, és problémákat okozott db oldalon. -
sonar
addikt
válasz
sztanozs
#2450
üzenetére
Mindkettő.
#2453 velizare: SQL server birni fogja a terhelést akkor is ha minden művelet után lezárom (jelenleg is így működik). Igazából csak arra lennék kíváncsi, hogy melyik megoldás az optimálisabb. Ez most olyan elméleti szöszölés és próbálok kicsit a dolgok mélyére ásni és nem megelégedni azzal, hogy működik. -
ha sok művelet lesz, akkor úgyis saját függvényeket fogsz írni a hívások köré (már csak azért is, hogy a db-hibakódokat, üres eredménylistát lekezeld), aminek az elejére simán beépíted a kapcsolat vizsgálatát, és az arra érkező negatív válasz esetén a megnyitását, a végére meg a zárást, és akkor ezt el is felejtheted. kapcsolatnyitásokkal nem fogsz leddosolni egyetlen sql szervert sem (vagy ha igen, ahhoz szeretnék a dbanak külön gratulálni) viszont a nyitva hagyott kapcsolatok konkrétan elérhetetlenné tudják tenni az adatbázist.
-
sonar
addikt
Sziasztok,
Hosszú idő után újra egy nagyobb lélegzetvételű projectbe fogtam.
Mivel elég sok MySQL művelet lesz ezért a következő kérdés merült fel bennem:
Vajon mi a jobb, ha megnyitom a kapcsolatot és lezárom amikor lezárom vagy elvégzem a műveletet és lezárom a kapcsolatot?
Most kezdtem túrni a témában a netet, de ha vkinek van tapasztalata szivesen venném ha megosztanáüdv: s
-
samujózsi
senior tag
válasz
Janos46
#2447
üzenetére
Csak tipp: dropbox helyett inkább github vagy valami hasonló oldal jobb lenne.
Amiért meg eredetileg benéztem: Why Python is considered the top programming language ahead of JavaScript and C++
Az imént futottam bele, hátha érdekel valakit. -
Janos46
tag
Sziasztok!
Ezt most leginkább kezdőknek írom. Sokat bóklásztam a neten, hogy találjak megfelelő programot ahhoz, hogy elkezdjem tanulni a phytont. Lehet hogy én visszafelé csinálom a dolgot, de némi áttekintés után inkább a kész egyszerűbb programokat nézegetve, elemezgetve tanulgatom több kevesebb sikerrel. A környezetemben senki nincs (a fórumot kivéve), akivel érdemben tudnák a témában beszélni. Nem vagyok egy mai darab (73), és ezt azóta csinálom, amióta vettem egy Rpi-t. Szimpi kis drab, nem csak film, internet és pár egyéb dolgot tud, hanem megkedveltette velem a program tanulást viszonylagos egyszerűsége miatt. Most felraktam a dropboxba azokat a programokat (44) amiből tanulgattam. Vannak saját termékeim is :-) miket később szintén feltöltök. Ha van bárkinek olyan programja amit érdemesnek tart közkinccsé tenni mások okulása végett, ne tartsa vissza magát. Remélem minden jól csináltam és elérhető , használható az oldal, ha nem jelezzétek, hogy tanulhassak. Üdv. János.
A dropbox elérhetősége:https://www.dropbox.com/sh/t2llfewpuuuf6xw/AAC3c7urNGcWWwSYwW6K-QBta?dl=0
-
kovisoft
őstag
válasz
Janos46
#2444
üzenetére
Nálam mondjuk a másodikat is végrehajtja, de alapvető szabály, hogy lebegőpontos számokat nem hasonlítunk == operátorral, mert a lebegőpontos számábrázolásnak véges a pontossága, így csak az garantálható, hogy a végeredményül kapott szám egy adott pontosságon belül lesz a matematikailag helyes végeredményhez. Itt egy példa, ami szemlélteti a fentieket, ennek matematikailag 1-et kellene adnia, de a lebegőpontos számábrázolás miatt nem annyi lesz, csak közelítőleg:
>>> x=1.0
>>> x=x/3.0-1.0
>>> x=(x+1.0)*3.0
>>> x
0.9999999999999998
A te példádban szereplő 5+5 esetében nem ez a helyzet (nálam legalábbis), de attól még érdemes lecserélni az == operátort egy valamilyen 10-epszilon és 10+epszilon közötti vizsgálatra. A helyedben én külön-külön kiíratnám a változók és == kifejezések értékét, hogy lásd, min csúszik el a dolog. -
Janos46
tag
Sziasztok.
Mi lehet a baj az alábbi utasírás végrehajtásánál és főleg mi a megoldás, az elsőt végrehajtja, a másodikat nem. Természetesen adtam értéket a qf1 és qf2-nek. Köszi a segítséget.from math import pi, sqrta=2b=2c=0d=0x=a+bif a==2 and b==2 and x==4:print("HIBA")from math import pi, sqrtqf1=float(input("Felső gömbréteg külső sugara (qf1) : "))qf2=float(input("Felső gömbréteg belső sugara (qf2) : "))mf1=float(input("Felső gömbréteg külső magassága (mf1) : "))mf2=float(input("Felső gömbréteg belső magassága (mf2) : "))x=qf1+qf2if qf1==qf2 and x==10:print("HIBA")
-
cousin333
addikt
válasz
kovisoft
#2441
üzenetére
Igen, ebben igazad van. Az a probléma, hogy inkonzisztensen használja a változókat. Az adatbevitelnél ez szerepel:
m1=float(input("Gömbréteg feletti magasság (m1) : "))
m2=float(input("Gömbréteg alatti magasság (m2) : "))Ennek fényében az M számítási képlete megfelelő lenne:
m1=r-sqrt(r**2-q1**2) # Felső szelet magassága
m2=r-sqrt(r**2-q2**2) # Alsó szelet magassága
M=r-(m2+m1)Viszont az előtte lévő sorokban nem ezt az m1 és m2-t számolja ki, hanem a síkok origótól mért távolságát, amiből M valóban az általad javasolt módon jönne ki:
M = m2 - m1 -
kovisoft
őstag
válasz
cousin333
#2440
üzenetére
Biztos, hogy jó? Ez van nála: a gömbréteg felső sugara q1, a gömbréteg alsó sugara q2.
Először kiszámolja a q1 és q2-höz tartozó szeletek magasságát, ez még jó:m1=r-sqrt(r**2-q1**2) # Felső szelet magasságam2=r-sqrt(r**2-q2**2) # Alsó szelet magassága
Aztán jön a gömbréteg magassága. De az szerintem m2-m1 (a nagyobbik szelet tetejéből levágjuk a kisebbik szeletet). Amit ő számol, abban összeadja a két szelet magasságát és ezt az összeget levonja r-ből:M=r-(m2+m1) # Gömbréteg magassága
Persze lehet, hogy valamit rosszul látok, de Janos46 is azt írja, hogy bizonyos input adatokra nem jól működik. -
cousin333
addikt
válasz
kovisoft
#2438
üzenetére
A képlet, amit használ, szerintem jó, hiszen korrekt módon írja le az adatbevitelnél.
Én is tettem egy próbát a feladattal, bár más megközelítéssel: egyszerű osztályokba szerveztem az egyes alakzatokat. Ezt aztán lehet bővíteni rogyásig különböző trükkökkel, ellenőrzésekkel, összevonásokkal.
Nem szűnök csodálni továbbá, hogy milyen sok összetett és praktikus program és eszköz érhető el a neten. Például a fent említett próbálkozást Jupyter notebookban implementáltam, súgóként a képleteket is odaírva - természetesen LaTex formázással
... és mindezt simán feltettem a Google Colab platformra, így ti is láthatjátok, sőt, szerkeszthetitek is: [link] How cool is that?

-
axioma
veterán
válasz
Janos46
#2437
üzenetére
Hacsak nem kezelsz negativ magassagot, az altalanos esetben mindig 2 megoldas fog kijonni. Nem tudod mashogy kenyszeriteni hogy melyikre gondolsz.. hacsak be nem kered kulon adatkent (ami meg ekvivalens azzal, hogy negativban kered a masodik magassagot, ellenben a korlappal megadasnal is hasznalhato).
-
kovisoft
őstag
válasz
Janos46
#2437
üzenetére
Ha az első if teljesülése esetén nem akarod, hogy a második if-be bemenjen, akkor if helyett elif-et kellene használni. Ugyanez igaz a harmadik if-re is.
Te magad is azt írod, hogy "pitagorasz segítségével meg lehet határozni a két leeső gömbszelet magasságát". Viszont akkor a gömbréteg magassága (vastagsága) az a nagyobbik és a kisebbik gömbszelet magasságának a különbsége. Ezért írtam, hogy szerintem rossz a képlet, ami alapján az M-et számolod, hiszen összeadod a két gömbszelet magasságát (majd ezt levonod az r-ből) ahelyett, hogy kivonnád őket.
"Ha a gömböt két párhuzamos síkkal metsszük, akkor a gömbtestet két gömbszeletre és egy gömbrétegre vágjuk fel."
Ez alapján az az eset is gömbrétegnek tekintendő, ahol a két metszősík a gömb középpontjának átellenes oldalán van (azaz a gömb aljából és tetejéből vágunk le egy kicsit). Ezért valószínűleg kell egy esetszétválasztást csinálnod arra a két esetre, amikor a két metszősík a gömb középpontjának ugyanazon vagy ellentétes oldalán van. A gömbréteg magasságát például az egyik esetben úgy kapod, ha a levágott gömbszeletek magasságát kivonod egymásból, a másik esetben meg a gömb átmérőjéből kell kivonni a gömbszeletek magasságának összegét.
-
Janos46
tag
válasz
kovisoft
#2436
üzenetére
Köszi a választ. Hogy tovább lép a gömbnél, erre már próbáltam többféle megoldást, de sajnos mostani tudásommal nem jutottam előbbre. Egyedüli megoldásnak a break-et gondoltam, de annak nem ismerem jelenlegi esetben a használatát.
Amennyiben a réteg magassága nincs megadva, úgy a felületét nem lehet kiszámítani. Viszont minden esetben a q sugár értékeket meg kell adni. Ezekből pitagorasz segítségével meg lehet határozni a két leeső gömbszelet magasságát. Ha azt kivonom a gömb sugarából, akkor megkapom a ömbréteg magasságát. Ezt én csak így tudtam kiszámítani. Ha van rá más mód, szívesen veszem, mint ahogy a többi kérdésemre is a válaszokat bárkitől (ez biztatás akart lenni).
Viszont most újra átgondolva feladatot, kérdésem az, hogy a gömbréteg vajon csak az ábrán látható esetben igaz? Vagy pedig ha egy teljes gömbnek csak az aljából és a tetejéből vágunk le egy kicsit, tehát a középső része is megmarad, az is gömbréteg? Mert ha igen, akkor a számítást másképpen kell megoldanom. Hmm?? -
-
Janos46
tag
Gömbreteg felülete, térfogata, kis- és nagy sugara és magassága.# Továbbá a gömb térfogata és felülete.""" Amennyiben csak a sugár van megadva és a többi nulla, abban az esetbena gömb patramétereit számolja ki. A gömbréteg számolásánál a gömb sugarátés vagy a gömbréteg sugarait, vagy a magasságait kell megadni."""print("Gömb és gömbréteg.\n")from math import sqrt, pifrom tkinter import *from colorama import Foreabl = Tk()abl.title("Gömb és gömbreteg számítása.")can = Canvas(abl, width=420, height=380, bg='lightgreen') # A kép ablakának méretephoto = PhotoImage(file='Gombreteg.gif') # A kép csak "gif" lehet.item=can.create_image(210,190, image=photo) # A kép mérete az ablakbancan.grid()abl.update()r=float(input("Mekkora a gömb sugara (r) : "))q1=float(input("Gömbréteg felső sugara (q1) : "))q2=float(input("Gömbréteg alsó sugara (q2) : "))m1=float(input("Gömbréteg feletti magasság (m1) : "))m2=float(input("Gömbréteg alatti magasság (m2) : "))M0=m1+m2if r>0 and q1==0 and q2==0 and m1==0 and m2==0:# Ha a sugarak és a magasságok nullák, akkor egy gömböt számol ki.A=4*pi*r**2V=(4/3)*pi*r**3print("\nA gömb felülete: ",round(A,2))print("A gömb térfogata:",round(V,2))if m1==0 and m2==0:if q1>r or q2>r or q1>=q2:print(Fore.RED + "\nHIBA1! q1>r q1>=q2")else:m1=r-sqrt(r**2-q1**2) # Felső szelet magasságam2=r-sqrt(r**2-q2**2) # Alsó szelet magasságaM=r-(m2+m1) # Gömbréteg magasságaA=pi*(2*r*M+q1**2+q2**2) # Gömbréteg felületeV=((M*pi)/6)*(M**2+3*q1**2+3*q2**2) # Gömbréteg térfogataprint("\nFelső szelet magasság: ",m1, "\nAlsó szelet magasság: ",m2, "\nGömbréteg magassága: ",M)print("\nGömbréteg felülete: ",A, "\nGömbréteg térfogata: ",V)if q1==0 or q2==0:if m1>=r or m2>=r or m1>m2 or M0>=r:print(Fore.RED + "\nHIBA valamelyik! m2>r m1>m2 m1+m2>=r")else:q1=sqrt(r**2-(r-m1)**2) # Gömbréteg felső sugaraq2=sqrt(r**2-(r-m2)**2) # Gömbréteg alsó sugaraM=r-(m2+m1) # Gömbréteg magasságaA=pi*(2*r*M+q1**2+q2**2) # Gömbréteg felületeV=((M*pi)/6)*(M**2+3*q1**2+3*q2**2) # Gömbréteg térfogataprint("\nFelső gömbszelet sugara: ",q1, "\nAlsó gömbszelet sugara : ",q2, "\nGömbréteg magassága: ",M)print("\nGömbréteg felülete: ",A, "\nGömbréteg térfogata: ",V)Rájöttem hogyan kell formázott formában felrakni. Itt a jó progi.
-
Janos46
tag
Csak én látom hogy nincs sorbehúzás, vagy tényleg nincs. Mert amikor beraktam,. akkor volt.
Sziasztok!
Tanulgatok, de de lassan haladok. A következőhöz szeretnék segítséget kérni. Írtam egy (több is hasonló) progit, amihez kérek pár segítséget, így a többiben is tudnák javítani.
1. A 15. sorban,miután a képet beolvasta, a kurzort nem teszi ki, úgy kell odapozicionálni.
2.Mikor kiszámolta a gömböt, tovább megy, hogyan lehetne megállítani (break?).
3. Mindaddig jó számol a program, amíg a q1=8.5 és q2=9 nem lesz, mert akkor a réteg magasságát mínusznak értelmezi.
Köszi ha tudnátok orvosolni, illetve az utolsót megmagyarázni.# Gömbreteg felülete, térfogata, kis- és nagy sugara és magassága.# Továbbá a gömb térfogata és felülete.""" Amennyiben csak a sugár van megadva és a többi nulla, abban az esetbena gömb patramétereit számolja ki. A gömbréteg számolásánál a gömb sugarátés vagy a gömbréteg sugarait, vagy a magasságait kell megadni."""print("Gömb és gömbréteg.\n")from math import sqrt, pifrom tkinter import *from colorama import Foreabl = Tk()abl.title("Gömb és gömbreteg számítása.")can = Canvas(abl, width=420, height=380, bg='lightgreen') # A kép ablakának méretephoto = PhotoImage(file='Gombreteg.gif') # A kép csak "gif" lehet.item=can.create_image(210,190, image=photo) # A kép mérete az ablakbancan.grid()abl.update()r=float(input("Mekkora a gömb sugara (r) : "))q1=float(input("Gömbréteg felső sugara (q1) : "))q2=float(input("Gömbréteg alsó sugara (q2) : "))m1=float(input("Gömbréteg feletti magasság (m1) : "))m2=float(input("Gömbréteg alatti magasság (m2) : "))M0=m1+m2if r>0 and q1==0 and q2==0 and m1==0 and m2==0:# Ha a sugarak és a magasságok nullák, akkor egy gömböt számol ki.A=4*pi*r**2V=(4/3)*pi*r**3print("\nA gömb felülete: ",round(A,2))print("A gömb térfogata:",round(V,2))if m1==0 and m2==0:if q1>r or q2>r or q1>=q2:print(Fore.RED + "\nHIBA1! q1>r q1>=q2")else:m1=r-sqrt(r**2-q1**2) # Felső szelet magasságam2=r-sqrt(r**2-q2**2) # Alsó szelet magasságaM=r-(m2+m1) # Gömbréteg magasságaA=pi*(2*r*M+q1**2+q2**2) # Gömbréteg felületeV=((M*pi)/6)*(M**2+3*q1**2+3*q2**2) # Gömbréteg térfogataprint("\nFelső szelet magasság: ",m1, "\nAlsó szelet magasság: ",m2, "\nGömbréteg magassága: ",M)print("\nGömbréteg felülete: ",A, "\nGömbréteg térfogata: ",V)if q1==0 or q2==0:if m1>=r or m2>=r or m1>m2 or M0>=r:print(Fore.RED + "\nHIBA valamelyik! m2>r m1>m2 m1+m2>=r")else:q1=sqrt(r**2-(r-m1)**2) # Gömbréteg felső sugaraq2=sqrt(r**2-(r-m2)**2) # Gömbréteg alsó sugaraM=r-(m2+m1) # Gömbréteg magasságaA=pi*(2*r*M+q1**2+q2**2) # Gömbréteg felületeV=((M*pi)/6)*(M**2+3*q1**2+3*q2**2) # Gömbréteg térfogataprint("\nFelső gömbszelet sugara: ",q1, "\nAlsó gömbszelet sugara : ",q2, "\nGömbréteg magassága: ",M)print("\nGömbréteg felülete: ",A, "\nGömbréteg térfogata: ",V) -
cousin333
addikt
Amint már írták a Visual Studio Code elég jó kis ide.
Amúgy nem tudom, hogy melyik Python és PyCharm verziót használod, illetve azok hogyan vannak beállítva, de természetesen tudja mindkét kívánt funkciót:
csvfile
Személy szerint én a PyCharm-ot használom, és nagyon jónak találom.
Most már kellően gyors is a működése, nem gondolkodik a gépelés (és az IntelliSense használata) alatt. Emellett rengeteg ügyes funkciója van (praktikus apróságok), csak győzze az ember megjegyezni a billentyű-kombinációkat.
Tudsz vele saját modult gyártani, vagy Unittest/Pytest elemeket futtatni van verziókövető integráció is (SVN, Mercurial, Git).De támogatja a fenti példákban látható scratch fájlok használatát is az aktuális projekttől függetlenül.
Egyetlen bánatom, hogy Jupyter Notebook támogatás csak a fizetős változatban van.
-
axioma
veterán
A pycharm egyszeruen a Jetbrains pythonos IDE-je (ezert emlegettem az IntelliJ-t, mert az is az ovek csak java-ra, nyilvan rengeteg mindenben hasonlo sot kozos alapokra epul). Mas ceg mas, valoszinuleg szinten a sajat korabbi termekukre hasonlito IDE-t kinal pythonra, csak nem feltetlen kulon csomagban es nevezi mashogy. _Csak ettol_ nem gondolnam hogy a pycharm jobb, foleg olyannak aki masik IDE-t mar megszokott. Mindamellett nem nagyon ismerem kelloen a tobbi, pyhton-kompatibilis IDE-t ahhoz, hogy osszehasonlitast tehessek.
-
Ahogy axioma is írja a pycharm (de egyéb intellisense sem) tudja egykönnyen megmondani, hogy milyen típusúak a változóid. 3.5-től van type hint, ha beállítod a type hint-et a változóra, akkor már könnybb dolga van az intellisense-nek.
Azt mondjuk nem tudom, hogy a pycharm milyen mélységig támogatja, én pl VSC-ben fejlesztek, ott egész jó az intellisense. -
axioma
veterán
En meg C#-ban nem vagyok otthon, de a csvfile az itt egy egyszeru valtozonev, nem osztaly.
Az import soraban meg ha ugy kezded hogyfrom csv import ...(azaz nem a teljes csomagot akarod), akkor mar van ctrl-space (en azt szoktam meg korabban java-s ide-kben, na persze az intellij-nel ertheto de netbeans-nel is ez volt ha jol remlik), valogathatsz a begepelt prefix alapjan. [Es persze ha hagyod import csv -n, akkor amikor a kodban kezded gepelni hogycsv.akkor is jonnek fel a lehetseges folytatasok.] -
I02S3F
addikt
Sziasztok!
A PyCharm-ba ezt a kódot pötyögtem be:
import csv
with open("pelda.csv", newline="") as csvfile:
spamreader = csv.reader(csvfile, delimeter=",", quotechar='"'
for row in spamreader:
print(",".join(row))Amikor Visual Studio-ban a C#-ot próbálgattam, akkor például egy class-ot frankón előre kitöltött (a struktúráját). Ez a PyCharm viszont nem ilyen kényelmes. Például a "csv" objektumra kattintva a metódusokat (ha jól tudom a nevét) nem dobja fel. A "csvfile" objektumot fel sem ismeri, vagyis nem dobja fel az automatikus kiegészítés és nincs súgó hozzá.
A kód rendben lefut (hisz a hivatalosan python dokumentációból másoltam), csak zavar, hogy nem olyan kényelmes a Visual Studio Windows-on. (A PyCharm-ot Ubuntu-n használom). Meg lehet ezt egyáltalán oldani? Vagy azzal van baj, hogy úgy akarom használni a PyCharm-ot, mint a VS-t?
Netán a szemléletemmel sem megfelelő? -
-
cousin333
addikt
válasz
Janos46
#2416
üzenetére
Másik lehetőség:
with open("valami.txt", "a") as ofile:ofile.write(f"Eredmény: {x} darab\n")ofile.write(f"Ez is az: {y} liter\n")Ennek az az előnye, hogy a fájl a with "tömbön" belül van nyitva, és a végén automatikusan bezárásra kerül, akkor is, ha közben a kód valami kivételt dob.
-
Janos46
tag
válasz
Capricornus
#2415
üzenetére
Köszönöm.
-
Janos46
tag
Segítsetek, hogyan kell bemásolni programot, hogy a sorbehúzások is meglegyenek? A réginél ment, most hiába kattintok a </> jelre, nem teszi a dolgát.
-
Janos46
tag
Sziasztok:
Segítene valaki, hogyan kell az alábbi nyomtatási eredményt egy fájlba írni?
Köszi ha megtenné.a=6
b=11
x=a+b
y=b-a
print ("Eredmény: ",str(x) + " Darab")
print ("Ez is az: ",str(y) + " Liter") -
Cucuska2
addikt
válasz
cousin333
#2409
üzenetére
Kicsit offként, én gépi tanulást csinálok már második éve, és igazából nem nagyon ösztönzi az embert hogy Pythont tanuljon, mert egy kezemen meg tudnám számolni, hogy hányszor kellett OOP-szerűen programozni. Ha kellett is OOP-znem, az azért történt, mert valami olyan könyvtárat használtam, ahol nem egymás utáni adatmanipuláció majd fitet várnak el a készítők, hanem hogy egy objektumba pakold a kódot.
De kétségtelenül jól pörgő ág most. -
cousin333
addikt
válasz
Csaby25
#2408
üzenetére
Optimista felütés...

A természeténél fogva a Python elsősorban ott népszerű, ahol a kísérletezés kap nagy szerepet, illetve ahol pl. folyamatokat kell automatizálni.
Pár példa: mérésautomatizálás, tesztautomatizálás, adatgyűjtés és -elemzés (műszaki területen, vagy pl. interneten), gépi tanulás (ez kifejezetten menő és Python erősség), big-data, adatvizualizáció, akadémiai felhasználás (ez nyilván speciális tudást is igényel), web-keretrendszer lásd pl. Django).
-
Csaby25
őstag
Sziasztok!
Átvettem a python elméletet, OOP-t is, készítettem egy-két gyakorlatot is.
Az lenne a kérdés szerintetek milyen területen kellene elindulnom, hogy gyakorlati tapasztalatot szerezzek.
Milyen területen van a legjobban elterjedve, illetve mi az ami a legkeresettebb jelenleg. Rövid távú cél az lenne, hogy kisebb freelancer projekteket oldjak meg, tanulás céljából.
Köszi! -
cousin333
addikt
válasz
Janos46
#2405
üzenetére
Nem biztos, hogy jól értem a kérdést, de elvileg a kód "közepét" kell átírnod:
if h > 0 and m > 0:print ("\nHiba! Csak magasság vagy palást kell!")Utána meg if-ek helyett elif-eket használj.
Amúgy meg ilyen esetekben nem dobnék hibát, hanem egyszerűen csak a magassággal számolnék, és kiírnám, hogy a palást érték redundáns volt és nem lett figyelembe véve a számolás során.
Még távolabbról nézve meg egy csinos kis osztályt készítenék a csonka gúlából...

-
Janos46
tag
Sziasztok!
Hogyan kell megírni, hogy abban az estben ha véletlenül a magasságot és a palástot is megadják, csak akkor írja ki a hibát.
Köszi a segítséget.# Négyzet alapú egyenes gúla felszíne és térfogata.from math import *ah=input("Mekkora az a oldala: ")th=input("Mekkora a b oldala: ")oh=input("Mekkora a h palást: ")mm=input("Mekkora az m magasság: ")a=float(ah)b=float(th)h=float(oh)m=float(mm)if h >= 0:if m >= 0:print ("\nHiba! Csak magasság vagy palást kell!")if h == 0:Am=a**2+b**2+2*(sqrt(abs(m**2+((a-b)/2)**2)))*(a+b) # felületet számolVm=m*(a**2+(a*b)+b**2)/3 # térfogatot számolOm=sqrt(abs(((a-b)/2)**2+(m**2))) # palástot számolprint("\nHa a magasság van megadva: " +str(m))print (" Felülete: ",round(Am,3), "\n Térfogata: ",round(Vm,3), "\n Palástja: ",round(Om,3))if m == 0:Ah=a**2+b**2+(2*h*(a+b)) # felületet számolVh=(sqrt(abs(h**2-((a-b)/2)**2)))*(a**2+(a*b)+b**2)/3 # térfogatot számolOh=sqrt(abs(h**2-(((a-b)/2)**2))) # magasságot számolprint("\nHa a palást van megadva: " + str(h))print("\n Felülete: ",round(Ah,3), "\n Téfogata: ",round(Vh,3), "\n Magassága: ",round(Oh,3)) -
válasz
Janos46
#2403
üzenetére
o.O
mit kellene kiírnia? ez ugyan windoze, de ezt kell látnod *nix alatt is:
Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. Minden jog fenntartva.
W:\>python
Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> -
Janos46
tag
válasz
kovisoft
#2402
üzenetére
Köszi a választ, de sajnos azt már próbáltam és csak a verziószámot, helpet és pár egyéb infót ír ki.
Lenn egy másik kérdésem is. Ha egy print-el íratok ki adatokat, és akár 25 tabulátort is be kellene tenni, van-e rá parancs, hogy ugorjon a megfelelő pozícióba?
A #2391-es kérdésemre nem tudsz véletlenül jó választ? -
Janos46
tag
Sziasztok!
Próba képen feltettem A Pi3-ra az Ubuntu mate 18.04-et, és utána a Python 3.xxx-et, indító ikonja nincs. Hogyan lehet elindítani, tudja valaki?
Új hozzászólás Aktív témák
- Google Pixel topik
- Battlefield 6
- Probléma DVD/CD íróval
- Áramszünet küldte betegszabadságra a robotaxik hadseregét
- Bestbuy játékok
- Leiskolázná a mezőnyt az új Samsung csúcs-SoC
- iPhone topik
- Fortnite - Battle Royale & Save the World (PC, XO, PS4, Switch, Mobil)
- Kevés helyet hagyott a tápkonnektor körül a világ legdrágább csúcs-VGA-ja?
- EAFC 26
- További aktív témák...
- LG 27GS60QC-B - 27" Ívelt - 2560x1440 - 180Hz 1ms - AMD FreeSync - Bontatlan - 2 Év Gyári Garancia
- Keresünk iPhone 14/14 Plus/14 Pro/14 Pro Max
- Google Pixel 10 Pro XL Moonstone Super Actua 120 Hz, Pro kamera 5 zoom 256 GB Használt,Gari
- GYÖNYÖRŰ iPhone 15 Pro Max 512GB Blue Titanium -1 ÉV GARANCIA - Kártyafüggetlen, MS4089
- Dell Latitude 5290 i5 8350U, 8GB RAM, SSD, jó akku, EU bill., szép állapot, számla, 6 hó gar - 12.18
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi

)
... és mindezt simán feltettem a Google Colab platformra, így ti is láthatjátok, sőt, szerkeszthetitek is: 


