Найти площадь и периметр прямоугольного треугольника по двум заданным катетам


while i < l: s_int = '' a = s[i] while



бет31/34
Дата05.01.2022
өлшемі186,75 Kb.
#129167
1   ...   26   27   28   29   30   31   32   33   34
Байланысты:
шпор

while i < l:

s_int = ''

a = s[i]

while '0' <= a <= '9':

s_int += a

i += 1

if i < l:

a = s[i]


else:

break

i += 1


if s_int != '':

integ.append(int(s_int))

 

print(integ)

5 dkfj78df 9 8 dkfj8

[5, 78, 9, 8, 8]

Обратите внимание, что данное решение извлекает именно числа, а не цифры. Иначе мы бы не получили число 78, а получили отдельно цифру 7 и цифру 8. Задача на извлечение цифр существенно проще.

Решение через цикл for:

a = input()

num_list = []

 

num = ''



for char in a:

if char.isdigit():

num = num + char



else:

if num != '':

num_list.append(int(num))

num = ''

if num != '':

num_list.append(int(num))

 

print(num_list)

Если в строке числа всегда отделены от слов пробелами, задача решается проще:

s = input()

word_list = s.split()

num_list = []

 

for word in word_list:



if word.isnumeric():

num_list.append(int(word))

 

print(num_list)

Здесь происходит разделение строки на слова по пробелам. В цикле с помощью метода isnumeric() каждое слово проверяется, является ли оно числом. Подобную задачу можно решить в одну строку, если использовать функцию filter().

s = input()

word_list = s.split()

 

num_list = [int(num) for num in filter(





Достарыңызбен бөлісу:
1   ...   26   27   28   29   30   31   32   33   34




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет