Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 22, 2024 17:50:08

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1348
Репутация: +  118  -
Профиль   Отправить e-mail  

Помогите проверить входят ли числа от 0-9 в строку

DMM
Если так то всегда будет возвращать True, а если к примеру строка не имеет чисел тогда как проверить вхождение если результат всегда один и тот же???
  
strings = ['Земля-2023', 'лопата', 'т-34', 'a1b2c3', '1234', 'qwerty']
for s in strings:
    if len(s) != len(s.strip('123456789')):
        print(f'{s} >>> YES')
    else:
        print(f'{s} >>> NO')

 
Земля-2023 >>> YES
лопата >>> NO
т-34 >>> YES
a1b2c3 >>> YES
1234 >>> YES
qwerty >>> NO

Process finished with exit code 0

Офлайн

#2 Фев. 22, 2024 20:22:51

DMM
Зарегистрирован: 2024-02-11
Сообщения: 34
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите проверить входят ли числа от 0-9 в строку

xam1816

Это опять через цикл выходит, а без него походу никак ((

Офлайн

#3 Фев. 22, 2024 20:33:26

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1348
Репутация: +  118  -
Профиль   Отправить e-mail  

Помогите проверить входят ли числа от 0-9 в строку

DMM
Это опять через цикл выходит, а без него походу никак ((
  
s = 'Земля-2023'
result = len(s) != len(s.strip('123456789'))
print(result)

Офлайн

#4 Фев. 22, 2024 21:37:12

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2740
Репутация: +  183  -
Профиль   Отправить e-mail  

Помогите проверить входят ли числа от 0-9 в строку

 >>> s = 'Земля-2023'
>>> any( str(x) in s for x in range(10) )
True



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Отредактировано Rodegast (Фев. 22, 2024 21:38:21)

Офлайн

#5 Фев. 22, 2024 23:15:17

DMM
Зарегистрирован: 2024-02-11
Сообщения: 34
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите проверить входят ли числа от 0-9 в строку

xam1816

  s = 'Земля-2023'
result = len(s) != len(s.strip('123456789'))
print(result)

Я правильно понял работает по такому принципу: создаем переменную, потом подсчитываем в одной количество символов потом делаем сравнение на неравенство с подсчетом в другой и с удалением спереди и сзади чисел от 1 и до 9, они естественно стают не ровны и выдает True, если чисел нет спереди или ззади то будет False?

Я все правильно понял или нет?

Отредактировано DMM (Фев. 22, 2024 23:29:41)

Офлайн

#6 Фев. 22, 2024 23:40:59

DMM
Зарегистрирован: 2024-02-11
Сообщения: 34
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите проверить входят ли числа от 0-9 в строку

xam1816


Ну что делать если цифры в середине слова??? Как тогда определить??

  strings = ['Земля-2023-лопата']
for s in strings:
    if len(s) != len(s.strip('123456789')):
        print(f'{s} >>> YES')
    else:
        print(f'{s} >>> NO')

Отредактировано DMM (Фев. 22, 2024 23:45:22)

Офлайн

#7 Фев. 22, 2024 23:44:41

DMM
Зарегистрирован: 2024-02-11
Сообщения: 34
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите проверить входят ли числа от 0-9 в строку

Rodegast

Пока не очень понимаю как работает.
Про такую функцию еще не учил, почитаю, спасибо за инфу))

Офлайн

#8 Фев. 23, 2024 07:29:03

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Помогите проверить входят ли числа от 0-9 в строку

А можете хочь немного рассказать о методе translate и maketranslate, а то почитал в инете и не очень понимаю как они работают, какие у них обизательные параметры?
Перво наперво - начинайте учиться гуглить
это слишком простой вопрос для форума
https://www.programiz.com/python-programming/methods/string/maketrans

Еще хотел спросить по поводу вот этой записи не очень понимаю что значит здесь знак - между переменными ?
Это значит минус! В данном случае мы отнимаем от числа знаков в оригинальной строке число знаков в строке после фильтра

Если так то всегда будет возвращать True, а если к примеру строка не имеет чисел тогда как проверить вхождение если результат всегда один и тот же???
Нет - вы просто не понимаете что там написано - о чем я и говорил вам ранее. Так что пройдите главу о циклах.


Ну и в целом:
Сначала прочитайте учебник хотябы до функций. Там есть ответы на ваши вопросы. Вы же прочитали 3 строчки и уже бегом на форум с вопросами - так это не работает.
И тут вопрос не в том что эти вопросы сами по себе глупые а в том что вы не понимаете ответов.



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#9 Фев. 23, 2024 09:31:02

DMM
Зарегистрирован: 2024-02-11
Сообщения: 34
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите проверить входят ли числа от 0-9 в строку

ZerG

Та я гуглю постоянно, просто не всегда можно найти объем той информации которая нужна. Много чего на инглише, а у меня с ним не очень лады увы((

Циклы начал изучать, на форуме для меня открывается больше инфы чем можно прочитать. Учу питон по курсам на ютубе в основном https://m.youtube.com/playlist?list=PLA0M1Bcd0w8yWHh2V70bTtbVxJICrnJHd ( Сергея Балакерева) и вот этот курс паралельно https://m.youtube.com/watch?v=GmMD6gQYWe4 (Егорова Артема) ну там к сожалению ни слова не было сказано о методе strip, и про translate и maketrans тоже увы((

Потому и приходится с простейшими вопросами на форум идти.

Может подскажите еще какой-то курс хороший более углубленный?

Офлайн

#10 Фев. 23, 2024 10:44:12

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1348
Репутация: +  118  -
Профиль   Отправить e-mail  

Помогите проверить входят ли числа от 0-9 в строку

DMM
Ну что делать если цифры в середине слова??? Как тогда определить??
все верно, strip удаляет только по краям слова.
тогда так
 s = 'земля-2023-земля'
r = set(s) - set('0123456789')
if r != set(s):
    print(True)
else:
    print(False)
Вообще это все дурачество, нужно пройтись по символам и как только наткнешься на цифру выдать True
DMM
Может подскажите еще какой-то курс хороший более углубленный?
с любого бесплатного курса задачи проходи

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version