Как узнать, есть ли в списке чисел хотя бы одно число, в котором содержится цифра 3?

Здравствуйте. <br/> Могу получить консультацию по поводу программы? <br/> <br/> Условия задачи: <br/> <br/> <b>Есть список чисел. Необходимо проверить, содержит ли он число с цифрой 3.</b> <br/> <br/> Я использовал код из другой программы: <br/> <br/> <pre><code class="python">n = map(int, input("Введите числа: ").split())
k = map(int, input("Искомое число: ").split())
flag = False
while n &gt; 0:
    if n % 10 == k:
        flag = True
        break
    n //= 10
if flag:
    print('Цифра %d есть в числе %d' % (k, n))
else:
    print('Цифра %d отсутствует' % k)</code></pre> <br/> <br/> В переменные n и k я добавил map для работы со списками. <br/> <br/> Получаю ошибку: <br/> <br/> <b>Traceback (most recent call last):<br/>
    while n &gt; 0:<br/>
TypeError: '&gt;' not supported between instances of 'map' and 'int'</b> <br/> <br/> Можете помочь с корректным решением этой задачи?
  • 6 ноября 2024 г. 6:02
Ответы на вопрос 2
Да, конечно! Ошибка, которую вы получаете, связана с неправильным использованием `map` и попыткой сравнить его с числом. Функция `map` возвращает итератор, и вы не можете проверить его на больше нуля таким образом.

Вот пример, как можно проверить, содержится ли хотя бы одно число с цифрой 3 в списке:

```python
# Читаем числа из ввода
numbers = input("Введите числа: ").split()

# Флаг для проверки наличия цифры 3
found = False

# Проверяем каждое число
for number in numbers:
    if '3' in number:  # Проверяем, содержится ли '3' в числе
        found = True
        break

# Выводим результат
if found:
    print("В списке есть число, содержащее цифру 3.")
else:
    print("В списке нет числа, содержащее цифру 3.")
```

### Объяснение:
1. Мы считываем вводимые числа в строковом формате (через `input()`), разделяя их пробелами при помощи метода `split()`.
2. Затем мы проходимся по каждому числу в списке. Проверяем, содержится ли строка `'3'` в каждом числе. 
3. Если мы находим число с цифрой 3, устанавливаем флаг `found` в `True` и прерываем цикл.
4. В конце выводим результат на экран.

Этот код должен работать без ошибок и корректно определять наличие цифры 3 в списке чисел.
День добрый, если время не критично, то 
1) переводим массив из Int в Str;
2) собираем массив строк в одну строку;
3) замеряем ее размер l=len(str_0);
4) делаем так str_1=str_0.replace('3','')
5) и если if len(str_1)
Похожие вопросы