Pyton örnek çözümü

0-9 aralığında girilen rakamları listeye yerleştirdikten sonra listedeki tüm rakamları birleştirerek tek bir
sayı elde edip, sayının karekökünü ekrana gönderen programı yazınız? Rakam yerine “q” girince program sonlanacak.

print(math.sqrt(functools.reduce(lambda n, d: n*10+d, list(map(int, filter(lambda c: '0' <= c <= '9', itertools.takewhile(lambda c: c != 'q', itertools.chain.from_iterable(sys.stdin))))), 0)))
$ echo "1+4\nx\n4_pq5" | python -c "import functools; import itertools; import math; import sys; print(math.sqrt(functools.reduce(lambda n, d: n*10+d, list(map(int, filter(lambda c: '0' <= c <= '9', itertools.takewhile(lambda c: c != 'q', itertools.chain.from_iterable(sys.stdin))))), 0)))"
12.0
5 Beğeni