Нужна помощь с решением учебного задания(python)
Задача: Счетчик четных/нечетных чисел.Напишите программу, которая генерирует 100 случайных чисел и подсчитывает количество четных и нечетных случайных чисел.
Собственно вот такая вот задачка в учебнике по питону. Моя логика:
import random # добавляем библиотеку
def main(): # так как задачка в разделе с функциями, придется соблюдать =)
random_generate()
def random_generate(): #функция вводящая последовательность и считающая количество четных и не четных чисел
even = 0 #счетчик четных чисел в последовательности
odd = 0 #счетчик нечетных чисел в последовательности
i = random.randint(1,100) #введение переменной для генерацуии случайных чисел
for i in range(101): #подставление случайных чисел в последовательность
if i % 2 == 0: #проверка на четность/нечетность
even += 1
else:
odd += 1
print(even, "четных чисел в последовательности", odd, "нечетных чисел в последовательности")
main()
Ответы (3 шт):
Автор решения: Мокен
→ Ссылка
Правильнее не делать последовательность из случайных чисел, а сделать список случайных символов.
import random # добавляем библиотеку
def main(): # так как задачка в разделе с функциями, придется соблюдать =)
random_generate()
def random_generate(): #функция вводящая последовательность и считающая количество четных и не четных чисел
even = 0 #счетчик четных чисел в последовательности
odd = 0 #счетчик нечетных чисел в последовательности
nums = []
for i in range(100):
nums.append(random.randint(1,100))
for i in nums:
if i % 2 == 0: #проверка на четность/нечетность
even += 1
else:
odd += 1
print(even, "четных чисел в последовательности", odd, "нечетных чисел в последовательности")
main()
Автор решения: n1tr0xs
→ Ссылка
Ваша ошибка в том, что в цикле for i in range(101): идет "тупой" перебор значений от 0 до 101 не включая.
Можно сделать это вот так:
import random
def main():
count_even_odd_random()
def count_even_odd_random():
odd = even = 0
for i in range(100):
if random.randint(1, 100) % 2 == 0:
even += 1
else:
odd += 1
print(f'Четных: {even}. Нечетных: {odd}')
Автор решения: weinsor
→ Ссылка
import random
def main():
random_g()
def random_g():
even = 0
odd = 0
for x in range(100):
x=random.randint(1,100)
print(x)#выводит рандомную последовательность
if x % 2 ==0:
even += 1
else:
odd += 1
print(f'четных: {even}')
print(f'нечетных:{odd}')