初心者向けのPythonのプログラミング問題です。入門編としてチャレンジしてください。Pythonの正答例は以下になります。
問題511
def max_consecutive_count(lst, value):
max_count = count = 0
for num in lst:
if num == value:
count += 1
max_count = max(max_count, count)
else:
count = 0
return max_count
print(max_consecutive_count([1,2,2,2,3,2,2], 2)) # 出力: 3
問題512
def sort_even_odd(lst):
even = sorted([x for x in lst if x % 2 == 0])
odd = sorted([x for x in lst if x % 2 != 0])
return even + odd
print(sort_even_odd([5, 2, 3, 8, 1])) # 出力: [2, 8, 1, 3, 5]
問題513
def is_prime(n):
if n < 2: return False
for i in range(2, int(n**0.5)+1):
if n % i == 0:
return False
return True
#<は半角記号に変換
def multiply_primes(lst):
result = 1
for x in lst:
if isinstance(x, int) and is_prime(x):
result *= x
return result
print(multiply_primes([2, 3, 4, 5, 6])) # 出力: 30 (2*3*5)



コメント