Hirdetés
- Motorola Edge 70 - többért kevesebbet
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Bemutatkozott az Oppo kamerás csúcsmodellje
- Samsung Galaxy A57 - kecses test, lusta lélek
- Az Amazfit GTR és GTS 3 is szemrevaló lett
- Vivo X300 Pro – messzebbre lát, mint ameddig bírja
- Yettel topik
- Milyen okostelefont vegyek?
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Megérkezett Európába a Soundcore Space 2 fejhallgató
Új hozzászólás Aktív témák
-
cousin333
addikt
válasz
stellaz
#3746
üzenetére
Alapvetően egy függvényre van szükséged, ami megmondja egy számról, hogy prím-e (True) vagy sem (False):
import mathdef is_prime(num: int) -> bool:upper = int(math.sqrt(num) + 1)for i in range(2, upper):if not num % i:return Falsereturn TrueEzt a függvényt kell használni a szóba jöhető számokra. A filter függvénnyel kiszűrhetők azok az értékek, amikre a válasz igaz (prímek). A list pedig listát készít a generált értékekből:
szam = 200primek = list(filter(is_prime, range(2, szam))) -
kovisoft
őstag
válasz
stellaz
#3744
üzenetére
Ez a módszer 120-ig működik, de 121-re már nem, mivel csak a max 7-tel való oszthatóságot vizsgálod, így a 121-re is azt mondja, hogy prím, pedig az a 11*11.
A szám négyzetgyökéig meg kellene nézni a lehetséges osztókat.
Szerk: A másik probléma, hogy nem így kell vizsgálni az oszthatóságot, mert ez nagy számoknál hibás eredményt ad, pl. 1234567891234567890/7%1 == 0 és 1234567891234567891/7%1 == 0, pedig mindkettő nem lehet. Az oszthatóságot inkább így kellene vizsgálni: 1234567891234567890%7 == 0 (mert pl. 1234567891234567891%7 == 1).
-
válasz
stellaz
#3730
üzenetére
Oh, kell a darabszam is?
from random import randintszamok = [randint(1,12) for i in range(20)]harommal_oszthato = [i for i in szamok if i%3 == 0]# vagy# harommal_oszthato = [*filter(lambda i: i%3 == 0, szamok)]print(f'{len(harommal_oszthato)} harommal oszthato szam volt:', *harommal_oszthato) -
axioma
veterán
-
válasz
stellaz
#3726
üzenetére
majdnem jo, csak az import kell kulon sorba
import randomfor i in range(20):szam = random.randint(1, 12)if szam % 3 == 0:print(szam)Ja, es hasznalj kodformazast
tomorebben kb igy:
from random import randint[print(i) for i in randint(1,12) if i%3 == 0]vagy ha egysoros kell

[print(i)for i in __import__('random').randint(1,12)if i%3<1]
Új hozzászólás Aktív témák
Hirdetés
- Egyre kevesebb döntést hagy az AI az ember kezében
- Motorola Edge 70 - többért kevesebbet
- Hálózati / IP kamera
- Macska topik
- Kertészet, mezőgazdaság topik
- Okos otthon - Home Assistant, openHAB és más nyílt rendszerek
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Bemutatkozott az Oppo kamerás csúcsmodellje
- Vicces képek
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- További aktív témák...
- 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
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



