Új hozzászólás Aktív témák
-
-
Hege1234
addikt
Üdv,
sorozat számozását (S5 E2) szeretném átírni úgy, hogy 0-9 ig mindig tartalmazzon egy 0-át
és, hogy ne legyen köztük szünetRick and Morty - S5 E2 Mortyplicity
Rick and Morty - S05E02 Mortyplicity
ezt valahogy a kiprintelt szövegből kellene re.sub-al kivitelezni?import json
f = open('info.json', 'r')
title = json.load(f)
title = title[0]['body']['metadata']['hadron-legacy-telemetry']['seriesName']+' - '+title[1]['body']['details']['title'].replace(":", "")
print(title)ebben a részben van benne
title[1]['body']['details']['title'].replace(":", "")
a replace : azért kellett mert tettek oda egy kettőspontot is...
S5 E2: Mortyplicity
S05E02 Mortyplicityköszi, előre is!
-
cousin333
addikt
válasz Hege1234 #3452 üzenetére
Én most ennyire jutottam. Elismerem, hogy nem a legszebb kód evör
import re
regex = r'S[1-9]*[0-9]\sE[1-9]*[0-9]:?'
r = re.compile(regex)
def replacer(x):
a, b = x.group().split()
return f'S{int(a[1:]):02}E{int(b[1:]):02}'
s = 'Rick and Morty - S5 E2 Mortyplicity'
re.sub(r, replacer, s)
Ebben az esetben az s az a cím sztring. A kimenet:
'Rick and Morty - S05E12 Mortyplicity'
[ Szerkesztve ]
"We spared no expense"
-
Hege1234
addikt
válasz cousin333 #3454 üzenetére
köszönöm, tökéletesen működik!
import re
import json
regex = r'S([1-9]*[0-9])\s?E([1-9]*[0-9]):?'
def replacer(x):
a, b = x.groups()
return 'S' + a.rjust(2, '0') + 'E' + b.rjust(2, '0')
f = open('info.json', 'r')
title = json.load(f)
title = title[0]['body']['metadata']['hadron-legacy-telemetry']['seriesName']+' - '+title[1]['body']['details']['title']
done = re.sub(regex, replacer, title)
print(done)Supernatural - S15E09 The Trap
-
tvamos
nagyúr
Sziasztok!
Kisse bukdacsolok a pycharmmal. Mert amugy nagyon jo lenne, eleg kezes az IDE, es en utalom parancssorbol futtatni a dolgokat.
Szoval az tortent, hogy Windowsz 10-es laptopon a pycharmmal csinaltam projektet, sikerult is, es valahogy beleirta a venv-be, hogy 3.11-el szeeretne futtatni a programomat. De itthon meg az asztali gepemen Linux van, (Linux Mint 20.3, amin persze Python3.8.10 van,) es amikor lehuzom a projektet a githubrol, akkor persze nem fut le. Nomost probaltam atallitani az interpretert, (ez alapjan,) akkor nagyon fura dolgok tortennek. Amikor bemegyek a configba, hogy kikeresem az interpretert, (/usr/bin/) akkor kiirja, hogy python3.9, de amikor a gepen keresem az interpretert, akkor ott python3.8 van, meg python3. Nomost termeszetesen sem a python3.9, vagy a python3.9-config, vagy a python3, vagy akar a python3-config filok kivalasztasaval nem lesz jo. Ami gynus, hogy onnan interpreter ugyan van, de a gepen amugy ott levo tkinter, vagy serial modulokat nem talalja. (Vagy ezt library-nek kell hivni? Nem tudom mar.)
Termeszetesen parancssorbol siman lefut a programom.
Nincs valami otletetek, mit csinalok rosszul? Mar ezt a python3.9-et sem ertem... teljesen osszezavart. Meg amugy mi ez a python3-config? Ilyet en nem latok ott. (/usr/bin/)
Elore is koszi!"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
-
Hege1234
addikt
Üdv,
tud esetleg valaki egy olyan trükköt amivel lecserélhető az end=" "
print('--key '+key, file=open("key.txt", "a+"), end=" ")
csak a gond van vele... de semmi infót nem találok róla hogyan lehetne
másképp megoldani azt, hogy egymás után tegye a kiadott értéket és ne egymás alápl. end=" " nélkül így nézne ki a fájlban
--key 010084
--key 01053b(az, hogy hány darab "key" fog generálódni az random, lehet csak egy, de
lehet akár 2 vagy 5-6 is)
print-el valahogy össze lehet hozni így, hogy egymás után legyen téve?--key 010084 --key 01053b
[ Szerkesztve ]
-
Hege1234
addikt
válasz Hege1234 #3459 üzenetére
köszi, így sikerült rájönnöm, hogyan hagyjam el az end-et
for key in keys:
f = open("key.txt", "a+")
f.write('--key '+key+' ')
f.close
felmerült még egy "probléma"
szeretném ezeket a kulcsokat amik egy sorba kerültek a legvégére egy '\n' -t tenni
viszont, ha ezt most így csinálom akkor ugyan ott vagyok ahonnan indultamfor key in keys:
f = open("key.txt", "a+")
f.write('--key '+key+' '+'\n')
f.close
hogyan lehetne azt megcsinálni, hogy egy sorba teszi és a legvégén hozzáad egy új sort
hogy következő alkalomkor is az egy sorba gyűjtött kulcsok már új sorba kerüljenek? -
axioma
veterán
válasz Hege1234 #3460 üzenetére
A cikluson kivul ures print irja ki _csak a vegere a \n -t.
String osszerakassal, zanzasitva (bocs, mobilrol):f.write('--key '+(' --key '.join(keys)))
Persze lehet a join hasznalata nelkul ugy ahogy irtam, kulon stringbe gyujtve, csak hosszabb:st=''
for key in keys:
st+=' --key '+key
with open("key.txt","a+") as f:
f.write(st[1:])
(a [:1] csak ha zavar a sor eleji plusz szokoz, de lehet a vegere ha ott jobban elfer)[ Szerkesztve ]
-
Oryctolagus
tag
Hello!
Valaki felvilagositana pls.shutil.make_archive(base_name, format[, root_dir[, base_dir[, verbose[, dry_run[, owner[, group[, logger]]]]]]])
Van egy mappa amiben vannak mappak amikben midenfele fileok vannak.
Ezeket a mappakat a fileokkal egyutt szeretnem betomoritve atmasolni ugyanabba fokonyvtarba de egymasik mappaba.
A problema az hogy a zippel allomanyok elkeszulnek de nem masolodnak, illetve nem oda keszulnek el ahova en szeretnem.
Ugyanabban a mappaban maradnak ahol az archivalando mappak vannak.shutil.make-archive(ide az archivalando mappa neve jon ami egy for ciklubol jon, zip , C:\ide , C:\innen)
Per aspera ad astra.
-
Siriusb
veterán
válasz Oryctolagus #3463 üzenetére
Szerintem a root_dir megkevert téged, itt a példa: https://docs.python.org/3/library/shutil.html#archiving-example-with-base-dir
base_name is the name of the file to create, including the path
Azaz nem csak a készülő fájl neve, hanem az útvonal is itt kerül megadásra, pl. os.join-nal.base_dir is the directory where we start archiving from; i.e. base_dir will be the common prefix of all files and directories in the archive. base_dir must be given relative to root_dir
A root_dir az archivum főkönyvtára, és a base_dir relatív kell legyen ehhez.Tehát root_dir a C:, base_dir az "innen".
Vagy egyszerűen chdir-rel belépsz a "C:\innen"-be és a fenti két paraméternek ez lesz az alapértéke, meg sem kell adnod. Attól függ, milyen struktúrát akarsz.[ Szerkesztve ]
-
Luxoros
lelkes újonc
Tisztelt Pythonosok!
Egy általam írt osztály metódusainak a hívását szeretném elérni.
Bosszantó, hogy a PyCharm semmilyen hibát nem jelez. Tehát az első metódus lefut a második nem, miért? Miért nem fut le mind a két metódus?
A két "próba" osztály kódja itt érhető el:
https://drive.google.com/file/d/1axfXct8m5cnhvXkEA9PMILgfpxDXgoyJ/view?usp=sharing
https://drive.google.com/file/d/1wLBeM3CmH-UsWpnuos0yp1AtjHH-yyBP/view?usp=sharingLayco
-
sztanozs
veterán
válasz Luxoros #3465 üzenetére
Rakd fel githubra a projektet, hacsak nem nagyon privát (bár ott is beállítható privátként, csak hozzá kell adni a "segítőket" kézzel).
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
lm83
őstag
Sziasztok,
Nagyon kezdő kérdésem lenne.
Hogy tudok egy bekért, input adatot össze hasonlítani egy váltózó/lista nevével?
Hogy egyik listából a másikba át tudjak rakni egy adatot, vagy az összeset, szóval lényegtelen mit
Szóval legegyszerűbben van három változóm/listám, A, B, C.
Bekérem, hogy melyik kettőt adjam össze.
Beírom, hogy AB, akkor azt a kettőt adom össze és írom ki az eredményét. -
cousin333
addikt
válasz Luxoros #3470 üzenetére
Célszerű kiíratni a az elemeket a két függvényhívás között. Akkor látni fogod, hogy az exchange1 függvény meghívása után a lista2 csupa '0'-ból áll. A második függvény is rendben lefut, de emiatt nyilván már semmit sem fog csinálni.
Igazából a tipp2[i] = "0" sorra semmi szükséged.
A staticmethod-os megoldásban felesleges az __init__ függvény.
[ Szerkesztve ]
"We spared no expense"
-
Luxoros
lelkes újonc
válasz cousin333 #3473 üzenetére
Kész! Illik megosztanom az eredményt egy képel és a javított kód:
[link]
[link]
Mivel 4db kétesélyes totó variációt terveztem, és ez a nyolc oszlop még nem fedi le (1és 5 oszlopok egyforma) ezért további függvényeket kell írnom.
Talán én is segítek valakinek ezzel.Layco
-
kovisoft
őstag
válasz Luxoros #3475 üzenetére
Ezzel a megközelítéssel nehéz lesz általánosan megoldani N db kétesély kombinációinak előállítását (de még a 4 db-ét is). Ugyanis most pl. az első függvényben elölről kezdve lecserélsz sorban 1, 2, 3, 4 tippet, de mindig csak elölről kezdve. Valójában mondjuk amikor 2 tippet cseréltél le a kétesélyek közül, akkor azt nem csak úgy kell, hogy az első kettőt, hanem az 1-3, 1-4, 2-3, 2-4, 3-4 párokat is, ami összesen 4 alatt a 2. És mindezt végigcsinálni 1-4 db lecserélt értékre.
Könnyebb egy olyan úton elindulni, hogy mindegyik kétesélyt úgy tekinted, mint ha egy bit lenne egy bináris számban. 4 db kétesély esetén ez azt jelenti, hogy a 4 bites (0-15-ig terjedő) számok bitjeinek kell megfeleltetni, hogy melyik kétesélyből éppen melyiket teszed bele a kombinációba.
Hogyan kell generálni a következő kombinációt? Ha az első pozícióban a kétesélyből az első értéknél jársz, akkor most veszed a második értéket, és kiíratod a kombinációt. Ellenkező esetben veszed újra az első értéket, de egyúttal továbblépsz a következő kétesélyes pozícióra, és ott is végigcsinálod ugyanezt, egészen addig, amíg már nem kell továbblépned (vagy végére értél a tömbnek). Akkor van vége, amikor már nem tudsz továbblépni, mert már minden kétesélyes pozícióban a második értéket írattad ki. Ez a módszer kis módosítással háromesélyes tippekre is működik, sőt akár vegyesen két- és háromesélyesekre is, csak tudnod kell, hogy melyik pozícióban mik a szóba jöhető értékek.
[ Szerkesztve ]
-
kovisoft
őstag
válasz Luxoros #3478 üzenetére
Én a teljes (másképpen hibapont nélküli) kombinációk generálásáról írtam. Ha hibapontos totókulcsot akarsz generálni, az lényegesen nehezebb feladat (én speciel nem is ismerek rá módszert, de nem mélyedtem el a témában - tudna ilyet is a NumPy?). Ha viszont más által már korábban generált totókulcsot szeretnél alkalmazni a saját tippjeidre, az egy egyszerű behelyettesítés.
-
Sziasztok
Nem ertek a programozashoz, ezert kerlek segitsetek megoldani az alabbi problemat.
Adott a felso waybar amire kitettem egy weather modult. Viszont en azt szeretnem, hogy ne mutassa a min. max. temp-et, csak az aktualisat egy nagy C -vel a vegen.
A keredesem tehat az, hogy kellene atirnom ehhez a kodsor aljan talalhato print funkciot? (bizony ennyire alapszinten vagyok)Elore is koszi, es bocs a lama kerdesert
A kep tobbi resze most nem fontos (config es style.css)
[ Szerkesztve ]
Passionate about minimalistic software, the Linux philosophy, and having fun. SFF enthusiast.
-
cousin333
addikt
válasz Archttila #3481 üzenetére
A jobb oldali kódban töröld ki a 14, 15, 20, 21 sorokat
A 19-es sorba az idézőjelek közé írj "C"-t és a végére egy ")" jeletEz viszont még ki fogja írni az összegzést is (pl. "partly cloudy"). Hogy ne tegye, elvileg ezzel kéne kiegészítened(!) a 18-as sort (nyilván a vessző továbbra is a sor végén maradjon):
.split()[0]
[ Szerkesztve ]
"We spared no expense"
-
válasz cousin333 #3482 üzenetére
#!/usr/bin/env python
from lxml import html
import requests
import json
lat = "47.95"
lng = "21.71"
resp = requests.get("https://darksky.net/forecast/{},{}/ca12/en".format(lat, lng))
tree = html.fromstring(resp.content)
summary = tree.cssselect("span.summary.swap")
print(
summary[0].text_content().split()[0],
"°C")
Koszonom sikerult! Annyi gond van csak vele, hogy ronda mint az elso felesegem
Ugy kellene kineznie mint a bal oldali a CPU temp-nek csak ikon nelkul. Szerintem az a problema, hogy a script ugy hivja le a temp adatot, hogy odabiggyeszti az ertek moge a "C"-hez tartozo kis karikat. Ha nem tenne akkor kozvetlen a szam moge kerulne a print-ben megadott
°C
[ Szerkesztve ]
Passionate about minimalistic software, the Linux philosophy, and having fun. SFF enthusiast.
-
válasz Archttila #3483 üzenetére
Van egy olyan sanda gyanum, hogy ez nem fog menni mivel magan az oldalaon ahonnan meghivja mar igy, a kis karikaval szerepel:
Esetleg ha rossz a kovetkeztetesem es megis van valakinek valami otlete azt megkoszonnem.
[ Szerkesztve ]
Passionate about minimalistic software, the Linux philosophy, and having fun. SFF enthusiast.
-
cousin333
addikt
válasz Archttila #3483 üzenetére
Talán nem a legelegánsabb megoldás, de próbáld ezt:
#!/usr/bin/env python
from lxml import html
import requests
import json
import re
re_fmt = r"-?[0-9]+"
lat = "47.95"
lng = "21.71"
resp = requests.get("https://darksky.net/forecast/{},{}/ca12/en".format(lat, lng))
tree = html.fromstring(resp.content)
summary = tree.cssselect("span.summary.swap")
temp = re.match(re_fmt, summary[0].text_content()).group()
if temp is None:
print("NA °C")
else:
print("{}°C".format(temp))
"We spared no expense"
-
-
Hege1234
addikt
Üdv,
ha szerepelnek ezek egy txt fájlban
--abc 025df 1234 abcdef
hogyan tudnám átalakítani hogy minden "szó" meglegyen toldva ezzel
'',
'--abc', '025df', '1234', 'abcdef',
tesztként beleírtam egy txt fájlba kézzel és valamiért a subprocess már
hozzáadott az elejére és a végére is egy"
"'--abc', '025df', '1234', 'abcdef',"
ez az aposztrófok miatt adódott hozzá?
hogyan lehetne elkerülni, hogy hozzáadja? -
cousin333
addikt
-
cousin333
addikt
válasz Hege1234 #3487 üzenetére
Én valami ilyesmit csinálnék (nem teszteltem):
def convert(txt):
return ', '.join(f"'{chunk}'" for chunk in txt.split())
with open("d:/input.txt", "r") as reader, open("d:/output.txt", "w") as writer:
writer.writelines(map(convert, reader))
[ Szerkesztve ]
"We spared no expense"
-
cousin333
addikt
válasz cousin333 #3489 üzenetére
Hááát, még nem tökéletes...
Ez viszont már jobbnak tűnik:
def convert(txt):
return ', '.join(f"'{chunk}'" for chunk in txt.split())
with open('d:/input.txt', 'r') as reader, open('d:/output.txt', 'w') as writer:
for line in map(convert, reader.readlines()):
writer.write(line + "\n")
Tesztbemenet (input.txt):
--this is something
new line here 1234Kimenet (output.txt):
'--this', 'is', 'something'
'new', 'line', 'here', '1234'[ Szerkesztve ]
"We spared no expense"
-
Hege1234
addikt
válasz cousin333 #3489 üzenetére
köszi, jónak tűnik a szöveges fájlban is, de valamiért itt is hozzáadódik az elejére és a végére a "
mp4decr = dirPath + '/programok/mp4decrypt.exe'
video = dirPath + '/Downloads/video.mp4'
audio = dirPath + '/Downloads/video.aac'
videoout = dirPath + '/Downloads/videoOUT.mp4'
audioout = dirPath + '/Downloads/audioOUT.aac'
with open("key.txt", "r") as fs:
keys = fs.readlines()
keys = keys[0].strip()
debug = subprocess.run([mp4decr, keys, video, videoout])
print(debug)
debug2 = subprocess.run([mp4decr, keys, audio, audioout])
print(debug2)
ERROR: unexpected argument (I:\d-python/Downloads/videoOUT.mp4)
CompletedProcess(args=['I:\\d-python/files/programok/mp4decrypt.exe', "'--key', '010023c4da1658b385f8a10dc7b17450:c4c1111bcde3c91357b50e6bb2a59ad3', '--key', '01051f72bf5ef290ccb970af41c57221:dad27bbe543d08bc0f545a355e3c4700', '--key', '010256b52c930f313823199d651d772e:b99212fc75e8e03b49bd9a0cf54190f1', '--key', '010100c9e8b349c1f159f05a9bedc74e:05326f0bdae9f59b6a24d69a59eae425'", 'I:\\d-python/Downloads/video.mp4', 'I:\\d-python/Downloads/videoOUT.mp4'], returncode=1)
ERROR: unexpected argument (I:\d-python/Downloads/audioOUT.aac)
CompletedProcess(args=['I:\\d-python/files/programok/mp4decrypt.exe', "'--key', '010023c4da1658b385f8a10dc7b17450:c4c1111bcde3c91357b50e6bb2a59ad3', '--key', '01051f72bf5ef290ccb970af41c57221:dad27bbe543d08bc0f545a355e3c4700', '--key', '010256b52c930f313823199d651d772e:b99212fc75e8e03b49bd9a0cf54190f1', '--key', '010100c9e8b349c1f159f05a9bedc74e:05326f0bdae9f59b6a24d69a59eae425'", 'I:\\d-python/Downloads/video.aac', 'I:\\d-python/Downloads/audioOUT.aac'], returncode=1)ilyen a formátuma amikor működik
CompletedProcess(args=['I:\\d-python/files/programok/mp4decrypt.exe', '--key', '6761374a7eb04b59a595a943f4dbcdbe:ed38695f26825877db9b0335f2212bb9', 'I:\\d-python/Downloads/video.mp4', 'I:\\d-python/Downloads/videoOUT.mp4'], returncode=0)
CompletedProcess(args=['I:\\d-python/files/programok/mp4decrypt.exe', '--key', '6761374a7eb04b59a595a943f4dbcdbe:ed38695f26825877db9b0335f2212bb9', 'I:\\d-python/Downloads/video.aac', 'I:\\d-python/Downloads/audioOUT.aac'], returncode=0)szerk:
teszteltem amit itt írtál #3490
így is hozzáadódik[ Szerkesztve ]
-
cousin333
addikt
válasz Hege1234 #3491 üzenetére
Azért ez egy kicsit más feladat...
Az a probléma, hogy a keys argumentumoknál egymást kéne követnie a paramétereknek (lásd a működő sorokat), vesszővel elválasztva. Nálad viszont egyetlen sztring argumentumként megy be az egész. És azért van ", mert a ' már szerepel a sztringben...
Igazából neked ez az egész konkrét művelet, amit kérdeztél, - az aposztrófokkal, meg a vesszőkkel - szükségtelen. Először is, az eredeti key.txt fájlt használd, ne az én kódommal módosítottat. Ezt a két sort
keys = fs.readlines()
keys = keys[0].strip()
Ezt cseréld le erre:
lines = fs.readlines()
keys = lines[0].strip().split()
A futtatás parancsot
debug = subprocess.run([mp4decr, keys, video, videoout])
meg erredebug = subprocess.run([mp4decr, *keys, video, videoout])
[ Szerkesztve ]
"We spared no expense"
-
Hege1234
addikt
ezt, hogyan lehetne megoldani, hogy
ha error van, mert nincsen találat és így a fájlt se tudta létrehozni
attól még fusson le a többi és ne akassza meg a további folyamatokat?ha minden igaz elég lenne használni hozzá a try: és az except -et de eddig még nem sikerült
rájönnöm, hogy hova és hogy hogyanesetleg van egy "univerzális" megoldás, ha error-t ír attól még folytassa tovább
és ne akadjon el?
értem én, hogy fontos, hogy látszódjon az error, de néha annyira feleslegesnek érzem, hogy emiatt megállítsa a teljes folyamatotsubprocess.run(['python', 'srt-forced.py'])
srt-forced.py tartalma:
import re
import sys
http = open("manif2.mpd").read()
link = re.findall("<BaseURL>(https:\/\/.*)</BaseURL>", http)
link = link[0].strip()
id = re.findall("<BaseURL>(videos/.*)</BaseURL>", http)
id = id[0].strip()
vtt = re.findall("[a-zA-Z]+-HU\sForced.*[^?.].*[^?.].*[^?.].*<SegmentTemplate media=.(.*vtt)", http)
vtt = vtt[0].strip()
vtt = re.sub("(.{8}).vtt", "1.vtt", vtt)
print(link+id+vtt)
print(link+id+vtt, file=open("link-hu-forced.txt", "w"))output error:
Traceback (most recent call last):
File "i:\d-python\srt-forced.py", line 13, in <module>
vtt = vtt[0].strip()
IndexError: list index out of range
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Program Files\Python39\lib\tkinter\__init__.py", line 1885, in __call__
return self.func(*args)
File "i:\d-python\decrypt.py", line 223, in max
file = open("link-hu-forced.txt")
FileNotFoundError: [Errno 2] No such file or directory: 'link-hu-forced.txt' -
cousin333
addikt
válasz Hege1234 #3495 üzenetére
Az univerzális megoldás valóban a try-except (lásd 8.3 fejezet). Lényegében a kritikus részt a try blokkba írod, és ha lefut, örülsz. Ha hiba van, akkor az except ág(ak) fut(nak) le. Ily módon szelektíven lehet kezelni a problémát: ha pl. a fájl nem található (lásd FileNotFoundError) akkor vállat vonsz és továbblépsz a következő fájlra, ha viszont más a hiba, akkor lehet, hogy ez nem elegendő megoldás, de jó, ha tudsz a problémáról.
A fenti példában (is) lehet célirányosabb megoldást is találni, például megvizsgálni a vtt értékét, mielőtt dolgozni kezdesz vele, hiszen a findall egyik lehetséges hibája, hogy éppenséggel nem talál semmit:
vtt = re.findall("[a-zA]...')
if vtt is not None:
vtt = vtt[0].strip()
...
A fenti esetben feltételezhető, hogy None értéket kap. De az is vizsgálható, hogy lista-e, és/vagy van-e annyi eleme, amennyi neked kell. Szívás, de a kód egy jelentős része mindig arra megy el, hogy ezeket a hibákat felderítsd és megnyugtatóan lekezeld.
[ Szerkesztve ]
"We spared no expense"
-
-
Hege1234
addikt
Üdv,
ez tudom, hogy így nem lehetséges mert csak szám lehet benne,
i = [minoseg]
de nem jöttem rá a megoldásraprint('\nminőség kiválasztása: \n \n0 = 1080 \n1 = 720 \n2 = 540 \n3 = 480\n4 = 360')
my_list = [1080, 720, 540, 480, 360]
minoseg = input('\nírd ide a számot: ')
i = [minoseg]
quality = []
for index in i:
quality.append(my_list[index])
print(*quality, sep = '')ha esetleg ehhez egy totál más megoldás kellene
hogyan lehet azt megoldani, hogy ha az input részre beírom valamelyik számot
pl. 1 akkor kiadja a 720 -at?minőség kiválasztása:
0 = 1080
1 = 720
2 = 540
3 = 480
4 = 360
írd ide a számot: 1
720 -
axioma
veterán
válasz Hege1234 #3498 üzenetére
Miben lehet csak szam? Az i az teny hogy jobban atlathato ha egy egesz, de pythonban [es erre vigyazz] akar a beepitett fuggvenynevet is hasznalhatod [felulcsapod!] valtozokent, ill. ua valtozo mas-mas tipust is felvehet.
Miert kell a ciklus? Nem csak egyet akarsz bekerni? Azt az egesz koztes reszt nem ertem.
Az input utan en csakprint(my_list[minoseg])
-re gondolnek, ha meg tobb bekerest akarsz akkor az is belul kene legyen a ciklusban [ami nagy valoszinuseggel nem is szamlalos for hanem tesztelos while kene legyen][ Szerkesztve ]
-
cousin333
addikt
válasz Hege1234 #3498 üzenetére
Uhhh... Bevallom nem tudom, mit csinál a kódod, de sok sebből vérzik.
Erre a problémára a legegyszerűbb megoldás a szótár (dictionary) használata. Ez gyakorlatilag kulcs-érték párokat jelent, random sorrendben. A kulcs és az érték is bármilyen típus lehet (sztring is).
qualities = {'0': 1080, '1': 720, '2': 540, '3': 480}
Ha úgyis csak szám-opciókat akarsz, akkor egyszerűbben is legenerálhatod:
my_list = [1080, 720, 540, 480, 360]
qualities = {i: j for i, j in enumerate(my_list)}
Ha mondjuk azt akarod, hogy a kulcs inkább sztring legyen, ne szám:
qualities = {str(i): j for i, j in enumerate(my_list)}
print('Minőség kiválasztása\r\n')
print('\r\n'.join(f'{i} = {j}' for i, j in qualities.items()))
minoseg = input('\nÍrd ide a számot: ')
quality = qualities[minoseg]
ekkor a quality változóban benne lesz a szám, 1080, 540 vagy amit kiválasztasz.
[ Szerkesztve ]
"We spared no expense"