опять же код. решается по-другому, но интересно почему так не работает

эта задача решается иначе, но всё же интересно, почему этот код не работает. выводит только ноль else.

color_num = int(input('ведите число рулетки: '))
num1 = 0 # green
num2 = [1, 3, 5, 7, 9] # red
num3 = [2, 4, 6, 8, 10] # black
num4 = [11, 13, 15, 17] # black
num5 = [12, 14, 16, 18] # red
num6 = [19, 21, 23, 25, 27] # red
num7 = [20, 22, 24, 26, 28] # black
num8 = [29, 31, 33, 35] # black
num9 = [30, 32, 34, 36] # red
if color_num >= 0 and color_num <= 36:
    if color_num == num1:
        print('зелёный')
    elif color_num == num2:
        print('красный')
    elif color_num == num3:
        print('чёрный')
    elif color_num == num4:
        print('чёрный')
    elif color_num == num5:
        print('красный')
    elif color_num == num6:
        print('красный')
    elif color_num == num7:
        print('чёрный')
    elif color_num == num8:
        print('чёрный')
    elif color_num == num9:
        print('красный')
else:
    if color_num < 0 or color_num > 36:
        print('такого числа нет!')

Ответы (1 шт):

Автор решения: Арамис

Вы вводите число и во всех случаях, кроме 0 и else, сравниваете введенное число со списком, отсюда и ошибка. Нужно просто заменить == на in:

color_num = int(input('ведите число рулетки: '))
num1 = 0 # green
num2 = [1, 3, 5, 7, 9] # red
num3 = [2, 4, 6, 8, 10] # black
num4 = [11, 13, 15, 17] # black
num5 = [12, 14, 16, 18] # red
num6 = [19, 21, 23, 25, 27] # red
num7 = [20, 22, 24, 26, 28] # black
num8 = [29, 31, 33, 35] # black
num9 = [30, 32, 34, 36] # red
if color_num >= 0 and color_num <= 36:
    if color_num == num1:
        print('зелёный')
    elif color_num in num2:
        print('красный')
    elif color_num in num3:
        print('чёрный')
    elif color_num in num4:
        print('чёрный')
    elif color_num in num5:
        print('красный')
    elif color_num in num6:
        print('красный')
    elif color_num in num7:
        print('чёрный')
    elif color_num in num8:
        print('чёрный')
    elif color_num in num9:
        print('красный')
else:
    if color_num < 0 or color_num > 36:
        print('такого числа нет!')
→ Ссылка