Hirdetés
- Milyen okostelefont vegyek?
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Samsung Galaxy A57 - kecses test, lusta lélek
- Megérkezett Európába a Soundcore Space 2 fejhallgató
- Hivatalos a OnePlus Watch 4
- Így spórolhat az Apple az iPhone 18 kijelzőin
- OnePlus 15 - van plusz energia
- Fittyet hány a pesti napfényre a Honor 600
- Mobil flották
- iOS alkalmazások
Új hozzászólás Aktív témák
-
kovisoft
őstag
válasz
V.Stryker
#2206
üzenetére
Alapesetben egy adott elemeket tartalmazó listát létre tudunk hozni úgy, hogy szögletes zárójelek között felsoroljuk az elemeket (pl. [1,3,5,7]). De ezt nem mindig tudjuk vagy akarjuk megtenni. Sokszor adódik olyan helyzet, hogy a listát egy másik listából szeretnénk valamilyen szabály alkalmazásával legyártani. Ilyenkor írnunk kell egy ciklust, ami végigmegy az eredeti listán, és annak minden elemét (amely egy adott feltételt teljesít) behelyettesíti egy kifejezésbe, és az így kapott elemekből jön létre az új lista.
Például kiindulhatunk egy range(n)-ből, és a négyzetszámok listáját előállíthatjuk úgy, hogy mindegyik elemet négyzetre emeljük. Vagy a prímszámok listáját előállíthatjuk úgy, hogy kihagyjuk azokat, amelyeknek van valódi osztója, stb.
A List Comprehension azt teszi lehetővé, hogy a fenti ciklust behelyezzük a szögletes zárójelek közé, mindezt egy nagyon tömör és világos formában. Tehát ahelyett, hogy egyenként felsorolnánk az elemeket, megadjuk azt a szabályt amiből és amivel fel kell tölteni a létrehozandó listát. Ez a szabály áll egy kifejezésből: ezt kell alkalmazni minden szóbajöhető elemre, áll egy for ciklusból valamilyen ciklusváltozóval, ami végigmegy egy listán, és opcionálisan egy if feltételből, amivel szűrni lehet az elemek között:
[expression(i) for i in iterable if condition]ami azt jelenti, hogy menj végig az iterable objektum elemein az i ciklusváltozóval, és ha teljesül az adott i-re a condition feltétel, akkor helyettesítsd be az i-t az expression kifejezésbe, így hozz létre egy új listát.
Példa: 1-re végződő négyzetszámok:
[i*i for i in range(100) if (i*i)%10 == 1] -
Siriusb
veterán
válasz
V.Stryker
#2170
üzenetére
Próbáld meg innen kimásolni, itt olyan bajos a programkód beillesztés: https://pastebin.com/FFzscZrm
Ha a string elé egy ilyen "f" megjelölést teszel, a stringen belül "{}" jelek közt változókat tudsz behelyettesíteni.
Érdemes lenne esetleg time objektumot használni, ha már pontosabb időt akarsz: https://docs.python.org/3.7/library/time.html
-
Siriusb
veterán
válasz
V.Stryker
#2168
üzenetére
Ez legyen a legbonyolultabb hiba, amit elkövetsz!
Játszásiból kicsit felturbóztam a példát. 
Mivel az ember a lustaságáról ismerszik meg, az aktuális időpontból kiszedjük az órát, aztán egy ciklusban addig nyomjuk a delikvens óra alá a kérdést, amíg egész számot nem méltóztatik beírni, ezt a try-ban ellenőrizzük.
Legvégül kiíratjuk az időpontot, attól függően, mennyire álomszuszék a válaszoló.import time
while True:
most = time.localtime().tm_hour
alvas = Nonewhile type(alvas) is not int:
alvas = input('----------------\nJean, keltsen fel ennyi óra múltán: ')
try:
alvas = int(alvas)
except:
print('Egész számot írj be, süsü!')napok = alvas//24
orak = alvas%24
if napok == 0:
print(f'Önt Jean, a hű komornyik {(most+orak)%24} órakor fogja kelteni egy forró kávéval.')
else:
print(f'Szia Csipkerózsika!\nJean szólt a hét törpének, hogy {napok} nap múlva '
f'{(most+orak)%24} órakor rúgjanak ki az ágyból!') -
Siriusb
veterán
válasz
V.Stryker
#2149
üzenetére
Szia!
Gondolom ott is van terminál, szóval pl.:pip listKiírja a verziót, s hogy milyen csomagok vannak telepítve.
Szerk.: ha arra vagy kíváncsi, sérült-e a telepített állomány, azt passzolom.
Esetleg ez: https://pip.pypa.io/en/stable/reference/pip_check/
-
válasz
V.Stryker
#1966
üzenetére
Ja, valami fura MAC-es encodingja van a fájlnak. UTF-8-at kell használni, avgy megadni az encodingot ilyen formában:
# coding=<encoding name>Ennek a sornak a fájl első vagy második sorában kell lenni.
Második sorban akkor, ha az első sor a parancsértelmezőt tartalmazza, pl:#!/usr/bin/python
# coding: <encoding name> -
Siriusb
veterán
válasz
V.Stryker
#1960
üzenetére
Shift+Enter
Szerk.:
Egy nagyon felszínes bemutató, de talán érdemes átfutni: https://www.jetbrains.com/help/pycharm/quick-start-guide.html -
-
EQMontoya
veterán
-
válasz
V.Stryker
#206
üzenetére
- Bekéred a változókat (váltási arány, vátás iránya, hány számot jelenítsen meg (n) a sorozatból, melyik legyen az első eleme (m), mi legyen a növekmény (q))
- legenerálod a forrás tömböt
- megcsinálod a váltást
- kiiratodAddig jáccottam, míg meg nem csináltam szép csicsásra

m = int(input("Start number of the range:"))
n = int(input("Count of range numbers:"))
q = float(input("Base of the range:"))
conv_rate = float(input("Conversion Rate:"))
conv_dir = int(input("Conversion (0* - EUR to CAD, 1 - CAD to EUR):"))
nm = range(m, m+n)
source = [pow(q,i) for i in nm]
dest = [i*conv_rate for i in source]
conv_s = '+ {0:^10} {2} {1:^10} +'
val_pack = {}
if conv_dir != 1:
conv_s = conv_s.format('EUR', 'CAD', '==>')
val_pack = zip(source, dest)
else:
conv_s = conv_s.format('EUR', 'CAD', '<==')
val_pack = zip(dest, source)
print ('+{0:-<13}+{0:-<13}+'.format('-'))
print (conv_s)
print ('+{0:-<13}+{0:-<13}+'.format('-'))
for (eur, cad) in val_pack:
print ('| {0:>10.2f} | {1:>10.2f} |'.format(eur, cad))
pass
print ('+{0:-<13}+{0:-<13}+'.format('-'))
Új hozzászólás Aktív témák
Hirdetés
- Acer Nitro 15 gamer laptop! -i7 9750H, RTX 2060 6gb, 32gb DDR4, 500gb SSD, 1tb HDD
- 3-in-1 PRÉMIUM USB-C HUB /Samsung Dex, MacBook, Surface, Chromebook ,Huawei,Motorola
- Üvegfólia,hidrogél fólia: iPhone ,Honor,Google Pixel,,Nothing Phone,Motorola, Samsung telefonokhoz
- 2TB HDD 100/100 - Több darab!
- Gigabyte AORUS 16X - Core i9 14900HX - 32gb ram - RTX 4090 (175W) 1TB SSD + 2027 januárig gyári gar
- Apple iPhone 16 Pro / 256GB / Kártyafüggetlen / 12HÓ Garancia / Akku : 100%
- Lenovo ThinkPad X1 Carbon Gen 11 i7 / 32GB / Garancia 2026.11.19
- DDR5 8GB / 16GB 4800-5600MHz SODIMM laptop RAM, több db- számla, garancia
- Dell Latitude 5520,15.6",FHD, i5-1145G7,16GB DDR4,256GB,WIN11
- TOP Pure White PC /Ryzen 7 9850X3D, 32GB DDR5 RAM, 1TB M.2 PCIe SSD/ akciós áron eladó! BeszámítOK!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest




