- Samsung Galaxy S23 Ultra - non plus ultra
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Milyen okostelefont vegyek?
- Yettel topik
- Vivo X200 Pro - a kétszázát!
- MIUI / HyperOS topik
- Fotók, videók mobillal
- One mobilszolgáltatások
- Nem minden Nothing Phone (3) születik egyenlőnek
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
Új hozzászólás Aktív témák
-
cousin333
addikt
válasz
Gyuri27 #3341 üzenetére
Az eddig felfogott feladatra itt a megoldásom. Házi feladat: megérteni, hogy működik...
import random
import itertools
import string
hfeherje = ['H1', 'H2', 'H3', 'H4', 'H5', 'H6', 'H7', 'H8', 'H9', 'H10', 'H11', 'H12', 'H13', 'H14', 'H15', 'H16']
nfeherje = ['N1', 'N2', 'N3', 'N4', 'N5', 'N6', 'N7', 'N8', 'N9']
nevek = 'COVIDSAR'
elnevezettek = {'H1N1': 'Madárinfluenza'}
for var in itertools.product(hfeherje, nfeherje):
varians = ''.join(var)
betukod = ''.join(random.choices(nevek, k=3))
szamkod = ''.join(filter(lambda x: x in string.digits, varians))
elnevezes = elnevezettek.get(varians, f'{betukod}-{szamkod}')
print(f'fehérjevariáns: {varians}, elnevezés: {elnevezes}')
-
cousin333
addikt
válasz
Gyuri27 #3332 üzenetére
Én valahogy így oldanám meg a feladatot:
import random
import itertools
hfeherje = ['H1', 'H2', 'H3', 'H4', 'H5', 'H6', 'H7', 'H8', 'H9', 'H10', 'H11', 'H12', 'H13', 'H14', 'H15', 'H16']
nfeherje = ['N1', 'N2', 'N3', 'N4', 'N5', 'N6', 'N7', 'N8', 'N9']
variansok = itertools.product(hfeherje, nfeherje)
nevek = 'COVIDSARS'
elnevezesek = [''.join(random.choices(nevek, k=3) + list(varians)) for varians in variansok]
for elnevezes in elnevesek:
print(elnevezes)
Ez a kód létrehozza az összes lehetséges H és N fehérje kombinációt, és mindegyik elé beszúr random 3 betűt a nevek sztringből, majd egymás után kiírja őket.
-
cousin333
addikt
válasz
Gyuri27 #3332 üzenetére
Először megcsináltad ezt:
nevek = ['C', 'O', 'V', 'I', 'D', 'S', 'A', 'R', 'S']
nev = ''
for i in range(3):
nev += random.choice(nevek)
Ezután viszont nem használtad a nev változót, hanem újra random.choice-oztál
Mivel a sztring is iterálható, ezért a fenti részt így írnám inkább:
nevek = 'COVIDSARS'
nev = ''.join(random.choices(nevek, k=3)
Azért kapsz aposztrófot, meg zárójelet, mert az egy 1 elemű lista, teljesen feleslegesen. Szóval de, egy kicsit túlbonyolítottad.
-
sztanozs
veterán
válasz
Gyuri27 #3323 üzenetére
print(*[muvelet(x,y) for x in X_1_11 for y in Y_1_11])
Végig kell iterálni a két listát és minden elemen keresztül kell vágni. Ez gyakorlatilag két egymásba ágyazott ciklus, csak python list-expression formában.a muvalat meg valami ilyesmi:def muvelet(x,y):
import random
nev = ''.join(chr(random.randbetween(ord('A'),ord('Z')) for _ in range(3))
return nev+str(x*y)Bocsi mobilról írtam az egészet…
Új hozzászólás Aktív témák
Hirdetés
- Apple iPhone 13 128GB / Kártyafüggetlen 1ÉV GARANCIÁVAL
- Nvidia Quadro P400/ P600/ P620/ P1000/ T400/ T600/ T1000 - Low profile (LP) + RTX A2000 6/12Gb
- Bomba ár! Fujitsu LifeBook U7310 - i5-10GEN I 16GB I 256SSD I 13,3" FHD I HDMI I Cam I W11 I Gari!
- 0% THM részletfizetés, beszámítás! ÚJ 27% 3 év AMD RX 7900 XT / 7900 XTX készletről KAMATMENTESEN!
- ÁRGARANCIA!Épített KomPhone Ryzen 7 9800X3D 32/64GB RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest