Új hozzászólás Aktív témák
-
cousin333
addikt
No, a megoldás úgy tűnik az enumerate() függvény használata, ami tuple-ket ad vissza. Tehát pl. két mód a használatára (az előbbi példánál maradva):
1.
for i,elem in enumerate(gyumolcs):
print elem # ez lesz a gyümölcsnév
print i # ez lesz az aktuális sorszám2.
for elem in enumerate(gyumolcs):
print elem[1] # ez lesz a gyümölcsnév
print elem[0] # ez lesz az aktuális sorszám[ Szerkesztve ]
"We spared no expense"
-
nickwearby
csendes tag
válasz cousin333 #15 üzenetére
kösz a választ,
de közben utánanéztem angol fórumokon is a problémámnak,
és ott kiderült, hogy a python interpreterjében windows alatt nem lehet futtatni a scriptet...
hanem csak parancssorból.valahogy ez eddig nekem nem volt egyértelmű....
_______"Aki Tibi, odamegy szombaton!!! Én megyek, de nem fogtok felismerni, mert álcázni fogom magam." by Grafitember
-
cousin333
addikt
válasz cousin333 #18 üzenetére
Ennyire ne tépjétek magatokat...
Amúgy alant látható a saját megoldásom, hátha az meghozza a vitakedvet...
fileName, cnt = input('Fajl neve? '), int(input('Oszto? '))
with open('d:\\' + fileName + '.txt', 'r') as iF:
allData = [line.strip('\n').split('\t')[1:] for line in iF]
header, datas = allData[0], [[float(x) for x in elem] for elem in allData[1:]]
with open('d:\\' + fileName + '_avg.csv', 'w') as oF:
oF.write(';'.join(header)+'\n')
for x in range(len(datas)//cnt):
s = datas[x*cnt:(x+1)*cnt]
oF.write(';'.join([str(round(sum([elem[i] for elem in s])/len(s))) for i in range(len(header))])+'\n')[ Szerkesztve ]
"We spared no expense"
-
atesss
addikt
válasz cousin333 #31 üzenetére
A fordítással a compile-ra gondoltam, exe-t gyártani a forrásból (ami jelen esetben nem is egy fájl, hanem több mappában jópár fájl; de project fájl meg nincs ami Visual C-nél lenne ).
És akkor ehhez a forráshoz a régebbi változatú Python fog kelleni ?És milyen fejlesztőkörnyezetet tudnál ajánlani, aminek valamilyen jól használható, a Microsoft Visual C-hez hasonló kialakítású kezelőfelülete van ?
Vagy ponthogy abban bonyolultabb lenne így elsőre ?Találtam egy ilyet: [link]
Itt Eclipse + PyDev plug-in-ról írnak, de itt van egy csomó más SDK neve is: [link]
De elöször akkor a python.org-ról a "Python 2.6.2 Windows installer (Windows binary -- does not include source) ", meg a Java Runtime enviroment kell, nem ?A Python meg interpretált nyelv, nem kell feltétlenül lefordítani...
"This program has been tested with python2.4 on both linux and OSX (in theory it should work on any system that has python2.4+ installed). "
Én csak ebből gondolom, hogy menne Windows XP-n is, egyébként nem értek a Pythonhoz. -
n00n
őstag
válasz cousin333 #123 üzenetére
Köszi szépen. Nagyon egyszerű megoldás.
Viszont ennek a továbbgondolt feladatánál már elakadok.
Szöveg: Van négy (a példa miatt négy, lehet több is, tehát célszerű n db-ra megírni) darab focicsapat, hozzon létre egy tömböt/listát a lehetséges összes meccsről véletlen sorrendben, mely tartalmazza a visszavágókat is.
Eddig úgy meg vagyok.
A példaként vett 4 csapat tehát összesen 12 meccset játszik 6 forduló alatt, fordulónként kettőt. Generáljon egy új listát az elkészült összes meccs listából, mely a fordulókban lejátszott meccseket tartalmazza, fordulónként ; (pontosvesszővel) elválasztva egymástól. Értelemszerűen egy fordulóban egy csapat csak egyszer játszhat. A megértést segítve itt egy példa listarészlet:
fordulok = ([1,3], [4:2], ; , [3,2], [4:1], ; , [1,2], [3,4], ; , ... stb.)
Fogalmam nincs merre induljak. Ötlet?
-
sonar
addikt
válasz cousin333 #299 üzenetére
Ezt a spyder nekem is új, de nagyon ígéretesnek tűnik.
Más: android alá fejlesztett már vki (kimondottan telefonon v tableten)?
Csak kíváncsiságból érdekelne, hogy mit érdemes feltenni.A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!
-
sonar
addikt
válasz cousin333 #302 üzenetére
Én eddig win alatt Notepad++ illetve Visual Studio, linux alatt Geany-vel irogattam standard 2.7-es python scripteket egyszerűeket és összetettebbeket (legalábbis számomra).
PyCharmot nézegettem, de vmiért annó elvetettem, de most hogy van spyder nincs is rá szükség.
Az egyik IPython-os preziben is visual studiot használták ide-nek
A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!
-
tvamos
nagyúr
válasz cousin333 #307 üzenetére
Nem, a telepito hibat jelez. Az t mondja "No Python installation found in registry", de nem hagyja megadni a helyet, ahova installaltam.
Parancssorbol meg ez van:
C:\Users\>easy_install -U pyserial
'easy_install' is not recognized as an internal or external command, operable program or batch file.
C:\Users\>pip install pyserial
Unknown or unsupported command 'install'[ Szerkesztve ]
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
-
tvamos
nagyúr
válasz cousin333 #319 üzenetére
En meg abban sem vagyok biztos, hogy ertem a kulonbseget a ketfele import kozott:
import matplotlib
from pylab import *
Ez az iras sajnos nekem eleg homalyos... nem vagyok biztos abban, hogy nem csak boszorkanyuldozes az egesz. O azt ajanlja, hogy hasznaljuk a matplotlib-et a pylab nelkul? Vagy akkor mi?
Nekem VI-ra kell, es menjen Linux es Windows rendszeren is. Mernok vagyok, a programozok hokusz-pokuszait nem nagyon ertem.[ Szerkesztve ]
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
-
-
axioma
veterán
válasz cousin333 #327 üzenetére
Az en fuleimnek ugyan tul gyorsan beszelt, viszont vegigneztem es hat igen, a 10 ev java utan bar pont baromira tetszik a python trukktarhaza es nezegettem mar bo egy honapja (foleg versenyfeladatokhoz idealis), azert van par dolog amit nem tudtam es nagyon hasznos. Ugyhogy koszi a linket, jo osszefoglalo, most csak vegigneztem, de azt hiszem masodjara is fogom es kijegyzetelem...
-
cousin333
addikt
válasz cousin333 #350 üzenetére
Na, meg is van egy megoldás. Innen lestem el. A mi esetünkben (interaktív konzolt feltételezve, amihez nem kell külön print) így néz ki:
import pandas as pd
from datetime import datetimeLétrehozzuk a DataFrame objektumot, ami egy oszlopból áll, és ami a dekódolt dátum:
parse = lambda x: datetime.strptime(x, '%Y.%m.%d %H %M')
data = pd.read_csv('R:\\teszt.csv', sep=';', header=None, parse_dates={'Date': [0,1,2]}, date_parser=parse)Egy új oszlop létrehozása New néven, amiben a dátum a kívánt formázással szerepel:
data['New'] = data.Date.apply(datetime.strftime, format='%Y.%m.%d.%H.%M.')
Majd mindezt kiírjuk egy másik csv fájlba:
data.to_csv('R:\\result.csv', sep=';')Elsőre talán macerásnak tűnik, de valójában elég rugalmas, és később is sok mindenre felhasználható. Ráadásul csak 6 sor!
[ Szerkesztve ]
"We spared no expense"
-
pokerecske1
csendes tag
válasz cousin333 #354 üzenetére
Hello
Igen ezt megtaláltam ma délelött, csak nem írtam azóta ide fórumra.
Igen óránként bontás így megvan csak nem úgy ahogy szeretném, tehát pl. kijelöltem az intervallumot és utána ha ezt hozzáírom, akkor az intervallumon végigmegy óránként, de nekem meg az kellene hogy 0-24 órás legyen az x tengely és az adott órákat átlagolja a megadott intervallumból. (és nem az hogy végigmenjen az egész intervallumon óránként)jelenleg:
AO_mm = dt.consumption['2011-01-01 00:00':'2011-01-05 23:00'].resample("H")
AO_mm.plot(style='g') -
Vasinger!
nagyúr
válasz cousin333 #378 üzenetére
Igazából annyi lenne a feladat, hogy van egy olyan datasetem amiben van egy dáum és egy érték oszlopom (CSV-ben) és meg kéne jósolnom ez alapján a későbbi értékeket. Egyelőre ugye jó lenne valahogy betanítani és ezen a dataseten próbálkozni, hogy sikerülne neki megjósolni, esteleg súlyozni kéne azzal is, hogy hétvége vagy hétköznap van stb.
A Pandas és a Scikit-learn-t ismerem, utóbbiban már csináltam valamiféle jóslást lineáris regresszióval, de nagyon gyenge eredményt adott.
Youtube-on már keresgéltem, de semmi olyat nem találtam, ami evvel lenne kapcsolatos. PyCon-ra is rákerestem, de nem találtam Predikciós előadást.
-
oszi666
őstag
válasz cousin333 #422 üzenetére
hát már sokkal többet mindent tudok, szóval köszönöm
tehát ha jól értem: a spyderben megírom a kódot, az tovább küldi a pythonnak, ami lefuttatja, a spyder pedig "kiolvassa" az eredményt kb?esetleg tudsz valami olyan modult vagy csomagot, valamit, amivel egyszerű gui fejleszthető, mint pl a codeskulptor simplegui-ja? szeretnék saját szórakozásra egy minimál statisztikai szoftvert írni
lenne egy mező, ahova be tudom írni az adatokat, és lenne pár gomb, ami lefuttatja az analízist, majd megjeleníti valahogyköszönöm a segítséget meg a könyveket is
[ Szerkesztve ]
It is not birth, marriage, or death, but gastrulation, which is truly the most important time in your life.
-
cousin333
addikt
válasz cousin333 #449 üzenetére
A "logikai függvényesítés" előnye a feladatszám-központúval szemben, hogy az 1-es feladat is könnyebben megoldható, hiszen ott nem is egy, hanem két hasonló felépítésű fájlt kell beolvasni. Így az előző hozzászólásom utolsó sora helyett elég ennyi kiegészítés:
fog_lista = fajl_beolvasas("foglaltsag.txt")
kat_lista = fajl_beolvasas("kategoria.txt")"We spared no expense"
-
cousin333
addikt
válasz cousin333 #449 üzenetére
Így belegondolva az általam megadott példában talán célravezetőbb lenne, ha elrejtenénk a felhasználó elől a tényt, hogy a lista számozása nullától indul. Továbbá nem kellene a függvénynek többet csinálnia, mint amennyi szükséges, majd a program írója eldönti mihez kezd az információval. Tehát talán inkább ezt írnám:
def foglaltsag_ellenorzes(lista, sor, szek):
# Ennek az eredménye igaz vagy hamis (True/False)
return lista[sor-1][szek-1] == "x"
# 2. feladat
sorszam = int(input("Adja meg a sor szamat: "))
szekszam = int(input("Adja meg a szek szamat: "))
# Az if a visszatérési értéket vizsgálja
if foglaltsag_ellenorzes(lista, sorszam, szekszam):
print("A szek foglalt")
else:
print("A szek ures")[ Szerkesztve ]
"We spared no expense"
-
XP NINJA
őstag
válasz cousin333 #449 üzenetére
Köszönöm a részletes választ.
Az általad javasolt módhoz még nem jutottam el, az utolsó két feladaton kivül működik a program, de gyanitom nem a legegyszerűbb módon. Nem törekszem a legeslegegyszerűbb módra, annak szerintem még nincs itt az ideje, de ezt én is túlzásnak érzem.def feladat_1():
lista=[]
f=open("foglaltsag.txt")
for sor in f:
sor=sor.strip()
soronként=list(sor)
lista.append(soronként)
f.close()
return lista
lista=feladat_1()
print("2. feladat")
def feladat_2():
sorszam=int(input("Adja meg a sor számát: "))
szekszam=int(input("Adja meg a szék számát: "))
sor=lista[sorszam-1]
if sor[szekszam-1]==('x'):
print("A hely foglalt")
else:
print("A hely szabad")
feladat_2()
print("3. feladat")
def feladat_3():
f=open("foglaltsag.txt")
jegyek=0
for sor in f:
list(sor)
sorcnt=sor.count("x")
jegyek=jegyek+sorcnt
szazalekban=int((jegyek/300)*100)
print("Az előadásra eddig {0} jegyet adtak el, ez a nézőtér {1}%-a.".format(jegyek, szazalekban))
f.close()
feladat_3()A 4. for ciklusra gondoltam, de nem sikerült, viszont működik.
print("4. feladat")
def feladat_4():
f=open("kategoria.txt")
kat1=0
kat2=0
kat3=0
kat4=0
kat5=0
for sor in f:
list(sor)
cnt1=sor.count("1")
cnt2=sor.count("2")
cnt3=sor.count("3")
cnt4=sor.count("4")
cnt5=sor.count("5")
kat1=kat1+cnt1
kat2=kat2+cnt2
kat3=kat3+cnt3
kat4=kat4+cnt4
kat5=kat5+cnt5
kategoriak=[kat1,kat2,kat3,kat4,kat5]
legtobb=(kategoriak.index(max(kategoriak))+1)
print("A legtöbb jegyet a(z) {0}. árkategóriában értékesítették.".format(legtobb) )
f.close()
feladat_4()Az 5. feladat az előző leve alapján működik, de ez is hosszú.
print("5. feladat")
def feladat_5():
f=open("kategoria.txt")
kat1=0
kat2=0
kat3=0
kat4=0
kat5=0
for sor in f:
list(sor)
cnt1=sor.count("1")
cnt2=sor.count("2")
cnt3=sor.count("3")
cnt4=sor.count("4")
cnt5=sor.count("5")
kat1=kat1+cnt1
kat2=kat2+cnt2
kat3=kat3+cnt3
kat4=kat4+cnt4
kat5=kat5+cnt5
ar1=kat1*5000
ar2=kat2*4000
ar3=kat3*3000
ar4=kat4*2000
ar5=kat5*1500
print("A bevétel pillanatnyilag {0}Ft".format(ar1+ar2+ar3+ar4+ar5))
f.close()
feladat_5()A 6. és 7. feladat nem sikerült, de bemásolom mivel próbálkoztam.
def feladat_6():
f=open("foglaltsag.txt")
#lista=[]
rossz1=0
rossz2=0
rossz3=0
for sor in f:
list(sor)
#sor=sor.strip()
#soronként=list(sor)
#lista.append(soronként)
#print(sor)
#print(soronként)
#lista.append(sor)
cnt1=lista.count("x")
cnt2=lista.count("xox")
cnt3=lista.count("xo")
rossz1=rossz1+cnt1
rossz2=rossz2+cnt2
rossz3=rossz3+cnt3
print(rossz1)
print(rossz1)
print(rossz1)
f.close()
feladat_6()
def feladat_7():
f=open('szabad.txt','w')
for i in range(300):
if lista[i]=="x":
f.close()
feladat_7()Összegzésben eddig ez a legjobb munkám, eddig még egyik érettségivel sem jutottam el.
A megoldókulcsból ha jól értelmezem 4 pontot veszithetek a program terjedelme miatt?
Illetve a saját függvények készitése viszonylag megy, csak még hasznositani nem nagyon próbáltam.[ Szerkesztve ]
-
LógaGéza
addikt
válasz cousin333 #462 üzenetére
Az újabb gépeken nem nagyon van már, nekem is csak akkor ha rádugom az Arduinot.
Holnap tudom én is meglesni, ma már nem dolgozok többet"Go to work, get married, have some kids, pay your taxes, pay your bills, watch your tv, follow fashion, act normal, obey the law, and repeat after me: I AM FREE"
-
cousin333
addikt
válasz cousin333 #462 üzenetére
Folytatás: a 25-26-os sort meg le kell cserélni erre, és elvileg már működik is:
self.ser = serial.Serial(self.combobox_port.get_active_text())LógaGéza: Korábban amúgy nekem sem ment a listázás, pedig jó lett volna, de akkor nem így próbáltam. Talán ezzel már menni fog.
[ Szerkesztve ]
"We spared no expense"
-
#82595328
törölt tag
válasz cousin333 #467 üzenetére
De nem működik, vagy én csinálok valamit rosszul. Azt értem, hogy mire való. Viszont próbáltam shell-ben pár parancsot, és nem megy egyik sem.
De azt hiszem így egyszerűbb, ha mutatok példákat:Ez működik:
>>> def xecs(x):
return x>>> print (xecs(2))
2Ezek meg nem. De miért nem?
>>> x=1
>>> return x
SyntaxError: 'return' outside function>>> x=1
>>> a= return x
SyntaxError: invalid syntax>>> x=1
>>> print (return x)
SyntaxError: invalid syntax -
olivera88
veterán
válasz cousin333 #490 üzenetére
Nem működik. Nem jó.
import urllib.request as ur
ImportError: No module named request
Ennek a letöltésre kellene [link]
A link minden nap változik, vagyis benne a dátum, meg végén a T nél a szám.
Egy ütemezett letöltést akarok létrehozni ahhoz kell.[ Szerkesztve ]
LG Velvet 5G Android 11 - Windows 10 Pro x64 & Debian 11 Bullseye - WoWS unsinkable_sam_
-
olivera88
veterán
válasz cousin333 #492 üzenetére
Ezek szerint. Ami Debianon fent van alapból, nem tudom h van e újabb hozzá. Így már működött.
Azt nem lehet beállitani h a linkben lévő dátumot minden nap javítsa át aktuálisra magától?[ Szerkesztve ]
LG Velvet 5G Android 11 - Windows 10 Pro x64 & Debian 11 Bullseye - WoWS unsinkable_sam_
-
olivera88
veterán
válasz cousin333 #499 üzenetére
Így?
import urllib as ur
link = "http://dcpc-nwp.meteo.fr/services/PS_GetCache_DCPCPreviNum?token=__5yLVTdr-sGeHoPitnFc7TZ6MhBcJxuSsoZp6y0leVHU__&model=ARPEGE&grid=0.1&package=SP1&time=61H72H&referencetime=2016-01-26T12:00:00Z"
mport time
links = link.split("=")
t = time.localtime()
fmt = "%Y-%M-%dT12:00:00Z"
links[-1] = time.strftime(fmt, t)
link = "=".join(links)
where = '/home/oliver/SP1'
name, header = ur.urlretrieve(link, where )LG Velvet 5G Android 11 - Windows 10 Pro x64 & Debian 11 Bullseye - WoWS unsinkable_sam_
-
XP NINJA
őstag
válasz cousin333 #500 üzenetére
Még egy kérdés (#496)-hoz kapcsolódva: Megvan egy darab listában az összes szám, az általad leirt módszer alapján, meg is csináltam vele egy feladatot. A következőben már szükséges lenne hogy integer legyen az összes szám. Régebben sikerült megcsinálnom, de most sehol sem találom.
Tehát most igy néz ki:
x=['37', '42', '44', '61', '68']És ezt szeretném:
x=[37, 42, 44, 61, 68]Próbáltam int-tel és map-pal is de nem jött össze
[ Szerkesztve ]
-
#82595328
törölt tag
válasz cousin333 #506 üzenetére
Tehát ha jól értem, akkor ez a ciklus működni fog? Csak este tudom kipróbálni.
import datetime as dt
x = dt.date(2015, 12, 15)
y = dt.date(2016, 2, 08)
z = y-x
for x in range(z.days):
a += 100
print (a)"A fenti példádhoz miért van szükséged for ciklusra?"
Bocsánat kimaradt a mondatból a "minden nap". Tehát a példafeladat ez lenne:
2015.12.15-2016.02.08 között kerestem minden nap 100 Ft-t. Hány Ft-ot kerestem összesen? -
#82595328
törölt tag
válasz cousin333 #509 üzenetére
Igazad van és nincs. Jelen pillanatban tényleg elég lenne ciklus nélkül. De ez a ciklus csak a váza lesz majd egyszer valaminek. Most csak a megoldás érdekelt.
Mondjuk kiegészíteném a példafeladatot erre:
Dolgoztam 2015.12.15 - 2016.02.08-ig. Az órabér 10 Ft/h. Páratlan napokon 8, páros napokon 6 órát, 15-e után pedig dupla órabérért dolgoztam. Ezt én már nem tudnám megoldani ciklus nélkül.
De köszönöm még egyszer a segítséget!
Új hozzászólás Aktív témák
- exHWSW - Értünk mindenhez IS
- Formula-1
- Hogy is néznek ki a gépeink?
- Jövedelem
- Épített vízhűtés (nem kompakt) topic
- Intel Core i3 / i5 / i7 / i9 10xxx "Comet Lake" és i3 / i5 / i7 / i9 11xxx "Rocket Lake" (LGA1200)
- Musk szerint már jövőre itt vannak a Tesla Optimus humanoid robotok
- A Microsoft feltalálta az olcsó AI-t
- Kupon kunyeráló
- ThinkPad (NEM IdeaPad)
- További aktív témák...