PYTHON
напишите функцию которая определяет есть ли цифра в строке переданной функции
функция должна вернуть значение типа Bool

напишите функцию которая определяет есть ли буква в строке переданной функции
функция должна вернуть значение типа Bool

я сделал так но не работает в чем моя ошибка

def number(x):
print(x, x.isdigit())

number ('дай 5')​


qwertyuiopafghjklzxc: вторая строчка кода скобку ибери

Ответы

Ответ дал: restIess
1

Ну начнем с того, что твоя функция ничего не возвращает, она выводит на экран информацию. Второй косяк в том, что функция isdigit() проверяет всю строку, то есть, при строке с одними цифрами твоя программа даст верный ответ.

Исправить максимально просто, нам нужно проверить каждый символ строки, если встречаем хоть 1 цифру, то возвращаем true, а если не встретим в строке цифр - false.

Максимально простой вариант для новичка, скорее всего, такой:

def number(x):

  for i in x:

      if i.isdigit():

          return True

  return False

print(number('xx'))

Приложения:

silverveb36: нет хот там и есть цифра 5 но выводить false???
silverveb36: я попробовал не работает
restIess: У меня true выводит, если есть цифра, если у тебя правильно табуляции расставлены, то тоже работать нормально должно
restIess: Файлик прикрепил, там код с табуляциями
silverveb36: нет не работает
restIess: Пример входных данных, при которых выдается ошибка покажи
Вас заинтересует