заменить цифру в строке
х = ['27342837429']. заменить любую цифру в строке ниже 5 на «0», а любую цифру 5 и выше на «1».
Ответы (4 шт):
Автор решения: dIm0n
→ Ссылка
Вот так вот:
import re
x = ['27342837429']
s = x[0]
print(s)
print(re.sub('[0-4]', '0', s))
print(re.sub('[5-9]', '1', s))
print(re.sub('[5-9]', '1', re.sub('[0-4]', '0', s)))
Ещё вариант:
x = ['27342837429']
s = x[0]
print(s.translate(str.maketrans('0123456789', '0000011111')))
Автор решения: Victor VosMottor
→ Ссылка
Как насчет функционального программирования?
''.join(map(lambda el:'0' if int(el) < 5 else '1', x[0]))
Вариация :
print(*map(lambda el:'0' if int(el) < 5 else '1', x[0]))
Автор решения: XP5
→ Ссылка
Мне, как новичку проще сделать и прочитать такой код:
a = str(input("Число: "))
aa = ""
for o in a:
if o in "01234":
aa += "0"
elif o in "56789":
aa += "1"
else:
aa += ""
a = aa
print(aa)
Код не в одну строку, но и не на древне китайском.