Hirdetés

2024. április 19., péntek

Gyorskeresés

Hozzászólások

(#651) axioma válasza EQMontoya (#650) üzenetére


axioma
veterán

OK, a lenyeg hogy a megoldas egy harmadik:) en csak netto algoirasra - versenyek - hasznalom a pythont azt se regota, sorry, nem kellett volna beleszolnom

Szerk. korrekt, sztem volt ahol en is hasznalhattam volna csak eszembe nem jutott keresni - nekem a list, map, set es problemamentes int az ami altalaban fontos a pythonbol, de akkor mar erdemes mas nyelvi finomsagokat is megtanulni

[ Szerkesztve ]

(#652) EQMontoya válasza axioma (#651) üzenetére


EQMontoya
veterán

No para, csak nem akarom, hogy a kolléga valami tákolást tanuljon meg, amikor van a nyelvben kifejezetten szép megoldás az adott problémára. :)
Nálam sem fő profil egyébként, de úgy elbénázok benne.

[ Szerkesztve ]

Same rules apply!

(#653) csaszizoltan válasza #82595328 (#647) üzenetére


csaszizoltan
csendes tag

lista = ['Kis', '2015/1', '2015-01-02', '2016-01-10', 1000, 37, 1651]
string_lista = []
for elem in lista:
string_lista.append(str(elem))
print ', '.join(string_lista)

console:
Kis, 2015/1, 2015-01-02, 2016-01-10, 1000, 37, 1651

vagy egyszerűbben, de nem annyira érthetően.

lista = ['Kis', '2015/1', '2015-01-02', '2016-01-10', 1000, 37, 1651]
print ', '.join([str(elem) for elem in lista])

Remélem az első kód magáért beszél, ha nem, csak nyugodtan kérdezz!

[ Szerkesztve ]

- Kivel és mit iszik Orbán? - Tök mindegy! Sörös vagy boros, csak közel legyen Soroshoz.

(#654) #82595328 válasza csaszizoltan (#653) üzenetére


#82595328
törölt tag

Köszönöm!
Ez lett a vége:

with codecs.open('kesz.csv','w',encoding='utf-8') as f:
for i in lista:
f.write(', '.join([str(elem) for elem in i]) +'\n')

Legközelebb használd a Programkód gombot!

[ Módosította: Karma ]

(#655) cousin333 válasza #82595328 (#654) üzenetére


cousin333
addikt

Na, milyen nagy élet lett itt hirtelen... :)

A Python 3-ban a print már egy függvény, így ezt is lehet használni:

with open('D:\\teszt.csv', 'w') as f:
for sor in lista:
print(*sor, sep=', ', file=f)

Működik :)

De akkor is a pandas a legegyszerűbb, csak itt a lista egy Pandas.DataFrame objektum:

import pandas as pd
...
lista.to_csv("D:\\teszt.csv", sep=',')

ui: Ezt gyorsan felejtsd el... :)
for i in range(len(lista)):

Helyette inkább használd így:
for elem in lista:

Vagy ha mindenképpen kell az index is, akkor így:
for i,elem in enumerate(lista):

[ Szerkesztve ]

"We spared no expense"

(#656) csaszizoltan válasza #82595328 (#654) üzenetére


csaszizoltan
csendes tag

Nagyon szívesen!

Egyébként ideális kérdező vagy, mert pontosan leírtad, hogy mi helyett mit szeretnél és a végén mi lett belőle.
:R

- Kivel és mit iszik Orbán? - Tök mindegy! Sörös vagy boros, csak közel legyen Soroshoz.

(#657) #82595328 válasza csaszizoltan (#656) üzenetére


#82595328
törölt tag

Köszönöm még egyszer. Azzal végül is nem lehetett vádolni, hogy nem tudom, mit akarok. :)

(#658) #82595328 válasza cousin333 (#655) üzenetére


#82595328
törölt tag

"Na, milyen nagy élet lett itt hirtelen... :)"

Pedig az az igazság, hogy végre sikerült befejeznem életem első "programját" pythonban. Szóval egy darabig csendben leszek. :)
Majdnem 100 sor lett. Még egy pici grafikus felületet is gyártottam(átvettem valahonnan) neki. Igaz látszik, hogy nagyon kezdetleges, tele van gyerekbetegségekkel, de kész van. Az alap problémát megoldja.

A canvas modult megjegyzem. Bár egyelőre az osztályok jelentik számomra a következő lépést. Modulból így is épp eleget használtam. Viszont osztályok nélkül nem tudok tovább lépni.

(#659) Oryctolagus


Oryctolagus
tag

Sziasztok!

Akadt egy kis problémám az alábbi kóddal.
Ez egy jelszó készítő program, a problémám pedig az, hogy amikor menteni akarom txt-be akkor nem azt menti ami az utolsó képernyőre kiírott jelszó volt volt.
Kellene egy új változó aminek az értéke mindig az utolsó kiírott jelszó lesz?

Köszönöm a segítséget!

import random
import string
import sys
import os

s=string.digits+string.punctuation+string.ascii_letters
q=str(''.join(random.sample(s,10)))
print ('Az Ön jelszava')
print (''.join(random.sample(s,10)))

kerdes=input("Másikat, y or n?")

while kerdes==('y'):
print (''.join(random.sample(s,10)))
kerdes=input("Másikat, y or n?")
else:
kerdes==('n')
#print('Köszönöm, hogy ezt a programot választotta.')
mentes=input('Szertné menteni .txt fájlban?, y or n?')
if mentes==('y'):
h=input('A fájl helye legyen:')
os.chdir(h)
f=open(input("Adja meg a fájl nevét:")+'.txt','w')
f.write((''.join(random.sample(s,10))))
f.close()

Per aspera ad astra.

(#660) Noddy válasza Oryctolagus (#659) üzenetére


Noddy
senior tag

Ha az elkészült jelszó a q változóban van, miért nem azt íratod ki és miért generáltatsz újat a .join(random.sample(s,10) sorral?
Nem úgy kellene, hogy:
q=str(''.join(random.sample(s,10)))
print ('Az Ön jelszava')
print (q)

És ugyan így a fájlba íratásnál is.

[ Szerkesztve ]

Jesus my savior, not my religion. - Jéghegy nem talál ibolyát.

(#661) Noddy válasza Oryctolagus (#659) üzenetére


Noddy
senior tag

import random
import string
import sys
import os

s=string.digits+string.punctuation+string.ascii_letters
q=str(''.join(random.sample(s,10)))
print ('Az Ön jelszava')
print (q)

kerdes=input("Másikat, i vagy n?")

while kerdes==('i'):
q=str(''.join(random.sample(s,10)))
print (q)
kerdes=input("Másikat, i vagy n?")
else:
kerdes==('n')
mentes=input('Szeretné menteni .txt fájlban?, i vagy n?')
if mentes==('i'):
h=input('A fájl helye legyen:')
os.chdir(h)
f=open(input("Adja meg a fájl nevét:")+'.txt','w')
f.write(q)
f.close()
print('Köszönöm, hogy ezt a programot választotta.')
print('Köszönöm, hogy ezt a programot választotta.')

Elvileg így most működik, de az os.chdir() nem tudom hogy működik konzolban, mármint, hogy kell megadni, hogy hova mentsen.

Jesus my savior, not my religion. - Jéghegy nem talál ibolyát.

(#662) Oryctolagus válasza Noddy (#660) üzenetére


Oryctolagus
tag

Egy kicsit bekavartam már magam a végére, kezdő vagyok.
Jó lenne egy emelt szintű érettségi és gondoltam belevágok.
Kerestem olyan témát ami érdekel.
Ez a jelszó generáló program jutott először eszembe.
Lehetne még fejlesztgetni, de már örültem, hogy egy majdnem jó progi elkészült.

Per aspera ad astra.

(#663) Noddy válasza Oryctolagus (#662) üzenetére


Noddy
senior tag

Szerintem jó kis programot készítettél :) Én is most ismerkedek a pythonnal és én se tudtam volna elsőre tökéletesen megcsinálni, pl a random string generálást eddig nem ismertem. Csak feltűnt, hogy bár létre hoztad a q változót nem hivatkoztál rá.

Jesus my savior, not my religion. - Jéghegy nem talál ibolyát.

(#664) EQMontoya válasza Noddy (#661) üzenetére


EQMontoya
veterán

else:
kerdes==('n')

Hm? :U
Egyébként elsőre nem rossz ez, sőt.
Sok interakció helyett inkább argparse-t használjatok.

Same rules apply!

(#665) Oryctolagus válasza Noddy (#663) üzenetére


Oryctolagus
tag

Jó azért be kell vallanom, hogy nem saját fejből dolgoztam.
Csak azt tudtam, hogyan kellene működnie és mivel lehetne megvalósítani.
Lehet még bennem van az a fél év az egyetemen, amikor c++ kellett tanulnom.
Nagyon nagyon büszke lennék magamra, ha az érettségi feladatokat meg tudnám oldani.

Per aspera ad astra.

(#666) justmemory válasza EQMontoya (#664) üzenetére


justmemory
senior tag

Sziasztok!

Szerintem sincs szükség arra, hogy ha már "else", akkor a "kerdes" változónak másik értéket adjunk...
Illetve nem tudom, hogy a sys miért van importálva, használva nincsen :D

A fájl mentését én valószínűleg gtk-val oldanám meg, mert így ha terminálban adja meg a fájlnevet a user, akkor két dolog van, szerintem: vagy az abszolút elérési utat gépeli be (macera), vagy abba a könyvtárba fogja menteni a txt fájlt, amelyben a script fut...
Tennék bele egy olyan apróságot is, hogy az "i" és "n" betűkön kívül mást ne tudjon megadni a user, mert ebben a formában ha nem "i"-t nyom, azt "n"-nek fogja érzékelni a program.
Az elejére valószínűleg betennék még annyit, hogy
#!/usr/bin/python - nem feltétlenül szükséges, csak könnyebb futtatni;
#-*- coding:Utf-8 -*-; nem tudom, hogy ez utóbbi feltétlenül kell-e; python 2.5-öt használok (régi, tudom, de ez van), ott az ékezetes karakterek miatt kell; nem tudom, hogy a 2.7 vagy akár a 3 tudja-e kezelni alapból az ékezetes karaktereket.

[ Szerkesztve ]

--- Imprisoned, inside this mind... --- Joined at the soul with a pair of headphones ---

(#667) cousin333 válasza justmemory (#666) üzenetére


cousin333
addikt

Az a 12 karakteres behúzás csak engem zavar? Már a 8-at is sokallom, a 2 meg kevés, én a 4-re szavazok. Természetesen szóközzel, nem tabulátorral.

"A fájl mentését én valószínűleg gtk-val oldanám meg"

Amit írsz, az igaz, de egy szkriptnyelvnél a GUI szerintem minimum a második lépés, vagy még későbbi. Akkor is inkább a tk-t próbálnám ilyen egyszerű feladatra, mert az része az alap Python telepítésnek.

"Tennék bele egy olyan apróságot is, hogy az "i" és "n""

Meg a zárójelezés is teljesen felesleges az == után. Kivéve talán ezt az esetet:

if kerdes in ('i', 'n'):

"#!/usr/bin/python - nem feltétlenül szükséges, csak könnyebb futtatni;"

Windows alatt is? :)

"#-*- coding:Utf-8 -*-; nem tudom, hogy ez utóbbi feltétlenül kell-e"

Python 3 alatt nem kell, az már tudtommal full Unicode, ékezettel, meg amit akarsz.

Még a fájlkezelésnél használnék context managert. Szerintem szebb, elegánsabb, és minden körülmények között automatikusan bezárja a fájlt:

with open(fajlnev, 'w') as f:
f.write(akarmi)

[ Szerkesztve ]

"We spared no expense"

(#668) EQMontoya válasza cousin333 (#667) üzenetére


EQMontoya
veterán

Én a 2 karakteres behúzásra esküszöm. 5-6 mélységű függvények simán vannak, ott már a 4 karakter szerintem sok.

Same rules apply!

(#669) justmemory válasza cousin333 (#667) üzenetére


justmemory
senior tag

Nem csak téged zavar :) Mondjuk ezeket már nem is néztem (zárójel, szóközök, stb.).
Én korábban 2 szóközzel írtam a scripteket, aztán egy programozó cimborám mondta, hogy 4-el kellene. Viszont mivel vim-et használok, a tabulátort állítottam át 4 szóköznyire alapértelmezetten... Ebből esetleg lehet gond a behúzások érzékelésekor, főleg, ha utólag módosítok a korábbi scripteken... :) Nem tudom mi legyen, Tab-ot nyomni könnyebb, mint 4 szóközt :)

A GUI-val kapcsolatosan igazad lehet; mondjuk nekem a tk csak minimálisan "jött be", hamar elkezdtem a gtk-t használni inkább. Azért gondoltam csak a GUI-ra, mert ha valódi program lesz a scriptből, szerintem a user-ek számára egyszerűbb így használni, mint gépelni, hogy pl. /home/Desktop/akármi/akármimimimimi/valami.txt.

Windows alatt... jah, jogos :) Annyira alapvetés már számomra a Linux, hogy a Windows-ról hajlamos vagyok megfeledkezni, ami ilyenformán nyilván nem jó :)

Igen, a with is hasznos, valóban :)

--- Imprisoned, inside this mind... --- Joined at the soul with a pair of headphones ---

(#670) cousin333 válasza justmemory (#669) üzenetére


cousin333
addikt

Na igen, a Python más nyelveknél is sokkal háklisabban reagál a vegyesen alkalmazott behúzásokra... :)

Az általam használt szövegszerkesztők (Notepad++, Spyder, IPython... stb.) szinte mindegyikének van olyan funkciója, hogy a Tab-ot automatikusan a kívánt számú (esetemben 4) szóközre cseréli. A behúzás csökkentése is megoldható Shift + Tab használatával.

Ami a GUI-t illeti: én sem használom a tk-t, sőt, mást se nagyon (kivéve a Jupyter Notebook-ot). Csak azért javasoltam, mert az alapból része a Python telepítésnek és ilyen egyszerűbb feladatra vélhetően ez a legjobb.

Valóban egyszerűbb lehet kiválasztani a fájlt, mint begépelni az egész elérési utat, de a szkriptnyelves és a GUI-s implementálásnál csak egy rosszabb van: a kettő vegyítése - legalábbis ha utóbbit vegyítjük az előbbibe. Egy GUI implementálása más szemléletet igényel, hiszen "folyamat-alapú" működés helyett eseményvezéreltté válik. Nem is beszélve az integráláshoz szükséges, arányaiban sok extra kódról.

Ha pedig GUI, akkor én nem csak a fájl-választót írnám bele, hanem az egészet, a generálás gombtól kezdve a kimeneti címkéig. Úgy legalább megspórolná az eléggé esetleges while ciklust is.

[ Szerkesztve ]

"We spared no expense"

(#671) justmemory válasza cousin333 (#670) üzenetére


justmemory
senior tag

Igen, most én a Tab-ot 4-re állítottam. Régebben a gedit-et használtam, de átszoktam a vim-re... :DD

A GUI-t illetôen igazad van, én is az egészet abban írnám :) Egyébként ami kizárólag a fájl mentéséhez kell, az minimális plusz kódot igényel; én egy sima FileChooserDialog-ra gondoltam. Bár tény, hogy vegyíteni lehet nem a legjobb, már csak azért sem, mert ha valaki még a tanulás elején van, akkor valószínûleg korai :)

Sajnos az eseményvezérléses és objektumorientált programírást nagyon gyakorolnom kellene :)

A GUI-t én arra használom, hogy a telefonomra írjak hasznos appokat :)

--- Imprisoned, inside this mind... --- Joined at the soul with a pair of headphones ---

(#672) EQMontoya válasza cousin333 (#670) üzenetére


EQMontoya
veterán

Python szerkesztéshez szerintem a Pycharm elég frankó, ahhoz képest, hogy nem fordított nyelv, nagyon baba az autocomplete.

Same rules apply!

(#673) cousin333 válasza EQMontoya (#672) üzenetére


cousin333
addikt

Szerintem is talán a legprofibb eszköz Python fejlesztéshez (is), ha nagy projektem lenne, valószínűleg abban nyomnám. Kis projektekhez viszont - épp az autocomplete és a hozzá hasonló funkciók miatt - elég fejnehéznek tűnik. Értsd: túl komplex egy pár soros programhoz (a telepítője 160 MB) és túl sokat molyol a háttérben, amitől kissé darabosnak érződik a számomra.

Aki nem ismerné: PyCharm

[ Szerkesztve ]

"We spared no expense"

(#674) cousin333 válasza justmemory (#671) üzenetére


cousin333
addikt

Az objektum orientált Python programozáshoz egy remek video:
Python's Class Development Toolkit

[ Szerkesztve ]

"We spared no expense"

(#675) justmemory


justmemory
senior tag

Köszönöm a tippeket! :R

--- Imprisoned, inside this mind... --- Joined at the soul with a pair of headphones ---

(#676) Noddy válasza EQMontoya (#664) üzenetére


Noddy
senior tag

Az argparse-t hogy lehetne ennél a példánál használni? Utánanéztem hogy mi lenne ez, de itt nem tudom, hogy lehetne használni.

Jesus my savior, not my religion. - Jéghegy nem talál ibolyát.

(#677) EQMontoya válasza Noddy (#676) üzenetére


EQMontoya
veterán

Általánosságban értettem: alapvetően nem szeretünk interaktív programot írni, ami b..tatja a usert, hogy:
-Add meg ezt
-Biztos ezt akarod?
-De tényleg?
-Fűzfán fütyüljek a végén?

Akkor inkább: foo --input_file ./bar.txt, --force --fuzfan_futyul
Aztán enter, és megtörténik minden.

Same rules apply!

(#678) Noddy válasza EQMontoya (#677) üzenetére


Noddy
senior tag

Így már értem.

Jesus my savior, not my religion. - Jéghegy nem talál ibolyát.

(#679) AeSDé Team


AeSDé Team
őstag

Vajon hogyan valósíthatnám ezt meg?
Szeretnék egy színes LED-et relatíve sötét háttér mellett követni webkamerával, és kalibrálható koordináta transzformációs megoldással az egeret mozgatni vele.
Úgy néztem hogy az OpenCV bővítmények bírnak hasonló képességekkel, valaki tudna tippet adni hogy merre induljak el? Bármilyen webkamera ideális lehet vagy vannak fejlesztő-barátabb példányok? Izgalmas projekt lenne a nyárra.

Később érdekes lehetne egy pisztoly-szerű hardvert építeni hozzá ami több színkódra is képes, pl. jobb és bal kattintások is jelezhetőek lennének. De egyenlőre maradjunk 1 színnél.

(#680) cousin333 válasza AeSDé Team (#679) üzenetére


cousin333
addikt

Az OpenCV tényleg alkalmasnak látszik a feladatra, én ezzel kezdeném: [link]

Mivel itt arról van szó, hogy a kamera képét képként beolvasod, majd azt elemzed, szerintem nincs különösebb szükség komolyabb támogatásra.

Nem tudom, mit és hogyan akarsz irányítani vele, de egér és billentyűzet automatizált kezelésére egy lehetséges opció a pyAutoGUI.

"We spared no expense"

(#681) AeSDé Team válasza cousin333 (#680) üzenetére


AeSDé Team
őstag

Az egér mozgatósdit a ctypes könyvtárral oldottam meg, ez már működő rendszer, tudom pl. X360 gamepaddel mozgatni és kattintgatni is.
A képfeldolgozásban viszont nem vagyok otthon, de szeretném beleásni magam. Köszi a linket, ez tényleg jónak tűnik :K

[ Szerkesztve ]

(#683) DrojDtroll


DrojDtroll
addikt

Nem nagyon sikerül egy rendszerre feltepiteni egy python könyvtárat.

Ez Linuxos vagy python os kérdés inkább?

(#684) Noddy


Noddy
senior tag

Sziasztok!

Kipróbáltam az argparse dolgot de egy olyan problémába ütköztem, hogyha nem adok meg értéket akkor nem fut le a program, pedig elvileg van egy olyan opció, ha nem adok meg semmit akkor is lefut a program egy default értékkel. De ez nekem nem működik... Mi lehet a baj?

#degrees to radian calculator
import argparse
import math
parser = argparse.ArgumentParser()
parser.add_argument("degree", help="This program calculate degree to radian.", default=0, type=int)
parser.add_argument("minute", help="You can add Minute value.", type=int, default=0)
parser.add_argument("secundum", help="You can add secundum value.", type=int, default=0)
args = parser.parse_args()
a2=args.minute/60 #minute to degree
a3=(args.secundum/60)/60 #secundum to degree
a=float(args.degree+a2+a3)
b=(a*math.pi)/180
print('The result is %lf radian.' %b)

Megadom, hogy a default 0 legyen, de mégse működik, pedik jó lenne, ha pl. csak fokot akarok számolni akkor ne keljen a percet és a másodpercet is megadni és további variációk.

Jesus my savior, not my religion. - Jéghegy nem talál ibolyát.

(#685) EQMontoya válasza Noddy (#684) üzenetére


EQMontoya
veterán

Kimaradt a dest, nem tudja hová tárolni, így nem fog működni.

parser.add_argument("--degree", dest='degree', help="This program calculate degree to radian.", default=0, type=int)
parser.add_argument("--minute", dest='minute', help="You can add Minute value.", type=int, default=0)
parser.add_argument("--secundum", dest='secundum', help="You can add secundum value.", type=int, default=0)

Így már működni fog bármilyen kombinációval, pl. lehet olyan, hogy csak percet adsz meg, vagy fokot és másodpercet, bármi.

Azért van még baj, az egészosztások miatt a percek és a másodpercek nem működnek, de ezt nem lövöm le előre, ebből tanulsz. :)

Same rules apply!

(#686) Noddy válasza EQMontoya (#685) üzenetére


Noddy
senior tag

Köszi! :)
Így már működik, mondjuk korábban annyi volt, hogy csak beírtam a számértékeket megfelelő sorrendben:
program.py 180 23 40 és számolta is, de most program.py --degree 180 --minute 23 --secundum 40
Persze legalább működik :)
Az a2,a3 és b változónak float típust adtam most már meg, elvileg nekem most így működik. Érdekes hogy nem találtam olyan netes konvertert ami fok, perc, másodpercet számol radianba csak fok-radiant számolót, biztos van csak nem találtam.

Jesus my savior, not my religion. - Jéghegy nem talál ibolyát.

(#687) Noddy válasza DrojDtroll (#683) üzenetére


Noddy
senior tag

Ez itt inkább programozós topic, lehet a linuxosban több sikerrel jársz. Nekem ubuntura a sima sudo apt-get install python3 paranccsal gond nélkül felment.

[ Szerkesztve ]

Jesus my savior, not my religion. - Jéghegy nem talál ibolyát.

(#688) EQMontoya válasza Noddy (#686) üzenetére


EQMontoya
veterán

Tudsz olyat, hogy megadsz rövidebb verziót az argparse-nak.

Pl. így:

parser.add_argument('--debug','-d', dest='debug', action='store_true', help='Debug - print the structure of order')
parser.add_argument('--profile','-p', dest='profile', action='store_true', default=False, help='Show time spent in each phases')
parser.add_argument('--id','-i', help='ID list - separated by \',\'', required=True)

mondjuk korábban annyi volt, hogy csak beírtam a számértékeket megfelelő sorrendben

Persze, így viszont nem tudsz opcionális argumentumokat megadni.
Tehát ezzel így az a baj, hogy mondjuk akkor is ki kell ínrod mindhármat, ha mondjuk 17 szögmásodpercet szeretnél átváltani.

[ Szerkesztve ]

Same rules apply!

(#689) Noddy válasza EQMontoya (#688) üzenetére


Noddy
senior tag

Köszi! Le is rövidítettem -d, -m és -s-re. Gyakorlásnak ez jó volt :)

Jesus my savior, not my religion. - Jéghegy nem talál ibolyát.

(#690) DrojDtroll válasza Noddy (#687) üzenetére


DrojDtroll
addikt

már írtam a linuxos topikba, nem is a pythonnal van a gond, hanem egy speciális library-vel.

(#691) cousin333 válasza DrojDtroll (#683) üzenetére


cousin333
addikt

Ennyi erővel már a konkrét problémát is beírhattad volna ide :)

Ez olyan "Megkérdezhetem, hogy mennyi az idő? Persze, kérdezd csak meg nyugodtan!" típusú hozzászólás volt. :D

[ Szerkesztve ]

"We spared no expense"

(#692) DrojDtroll válasza cousin333 (#691) üzenetére


DrojDtroll
addikt

Akkor leírom mi volt a gond.

Virtualenv-el volt feltelepítve a könyvtár. Következő indításkor nem tudtam, hogy kell a workon.

(#693) cousin333 válasza DrojDtroll (#692) üzenetére


cousin333
addikt

Tehát ha jól értem, egy virtuális környezethez volt fenn a modul (nem használtam még a virtualenv-et), indításkor viszont a normál környezet futott, ami persze nem látta.

Úgy látom reszeltek a programkód beágyazáson. Színes meg minden...

[ Szerkesztve ]

"We spared no expense"

(#694) DrojDtroll válasza cousin333 (#693) üzenetére


DrojDtroll
addikt

Pontosan így van ahogy írod.

>>> from ev3.lego import *
>>> d = MediumMotor()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "build/bdist.linux-armv5tejl/egg/ev3/lego.py", line 217, in __init__
File "build/bdist.linux-armv5tejl/egg/ev3/ev3dev.py", line 330, in __init__
TypeError: 'NoneType' object has no attribute '__getitem__'

Ez milyen hibára utal?

(#695) cousin333 válasza DrojDtroll (#694) üzenetére


cousin333
addikt

Típushibára :DDD

Kattints rá a linkre (vagy keresd meg a kérdéses fájlok kérdéses sorát), hogy lásd, mit csinál. Én ennyi infóból azt mondanám, hogy a MediumMotor() osztály példányosításakor lefut az __init__() függvény, ami valamit inicializálna, pl. egy szótár változóból (dictionary) olvasna ki egy elemet, de a szótár helyett egy None-t kap. Nem lehet, hogy valamilyen paramétert kéne átadni az osztálynak?

Mod: a válasz elvileg nem. Én ezt találtam: [link], bár gyanítom, hogy ez a kód nem teljesen ugyanaz a verzió, mint a tied, mert ennek a sornak le se szabadna futnia, max a 334-től kezdve, de szerintem abban sem indokolja semmi ezt a hibát.

[ Szerkesztve ]

"We spared no expense"

(#696) DrojDtroll válasza cousin333 (#695) üzenetére


DrojDtroll
addikt

Nem olyan fontos, lehet a motorok mozgatásához inkább go-t kellene használnom.

(#697) sonar


sonar
addikt

Hi

Nem kimondottan python, de hátha.
Verzió követést ti hogyan oldjátok meg?
Van egy két scriptem amit két három havonta ki kell egésziteni. Eddig kommentbe irogattam meg release után egy zippelt verziót lementek magamnak.

Illetve van-e vmi olyan oldal ahol rendszeresen mutatnak be python-os modulokat technikákat...
(most nem a python.org -ra gondolok)

A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!

(#698) tvamos válasza sonar (#697) üzenetére


tvamos
nagyúr

Gitt+doxygen. (Mondjuk nem csak Python. )

[ Szerkesztve ]

"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János

(#699) EQMontoya válasza sonar (#697) üzenetére


EQMontoya
veterán

Git, vannak ingyenes repók is, pl. bitbucket.

Same rules apply!

(#700) sonar


sonar
addikt

Kössz!

ez a git akkor verzió követő, a repó meg ahova feltolja a kódot. Gondolom akkor ezt lehet lokálisan is csinálni.
Ebbe akkor bele kell ásnom magam egy pöttyet.

A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!

Copyright © 2000-2024 PROHARDVER Informatikai Kft.