Ú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 randomimport itertoolsimport stringhfeherje = ['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 randomimport itertoolshfeherje = ['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.
-
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
- TCL LCD és LED TV-k
- Nikon Z MILC fényképezőgépcsalád
- Kész rémálom lesz Linuxot használni jövőre az USA egyes államaiban
- Anglia - élmények, tapasztalatok
- exHWSW - Értünk mindenhez IS
- Elemlámpa, zseblámpa
- BestBuy topik
- iPhone-t használók OFF topikja
- Mit tehetsz jogilag, ha átvertek, megkárosítottak a Hardveraprón?
- LEGO klub
- További aktív témák...
- Chieftec Smart Seriels GPS-500A8 80 Plus minősítésű 500W tápegység
- Apple iPhone 13 - 85% Akku - 128GB - Független - Hibátlan
- HONOR Magic8 Lite 5G 512GB + CHOICE Cubuds - Gyári Bontatlan, 2028-ig garanciális
- HONOR Magic8 Pro 5G 12/512GB (Black) - Új, Kártyafüggetlen, 2029-ig garanciális
- HP ProBook 6560b, 15,6" HD+, i5-2520M CPU, 8GB DDR3, 500GB HDD, W10, Számla, garancia ( olvasd végi
- Telefon felvásárlás!! Samsung Galaxy S21/Samsung Galaxy S21+/Samsung Galaxy S21 Ultra
- BESZÁMÍTÁS! 64GB Corsair Vengeance LPX 3200Mhz DDR4 memória garanciával hibátlan működéssel
- Surface Pro 7+ i5-1135G7 16GB 1000GB 1 év garancia
- Samsung Galaxy S23 FE 128GB,Újszerű,Dobozaval,12 hónap garanciával
- Apple iPhone 13 Pro Max 128GB,Átlagos,Dobozaval,12 hónap garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


