Напишите программу, которая выберет наиболее точные описания заколдованного города, преобразует их в числа и выведет все значения из диапазона с определенным шагом. Формат ввода
Вводится число n (двузначное), затем строки, пока не будет введена пустая строка. Вводимые строки могут быть или целым числом, или строкой, в которой нет цифр.
Формат вывода
Среди всех строк – целых чисел – выбрать наибольшее и наименьшее числа, в которых есть хоть одна цифра из n.
Если встретилась строка со словом наказание, ввод нужно прекратить и перейти к выводу.
Вывести нужно все числа от наибольшего до наименьшего с шагом, равным утроенному числу десятков во введенном числе. Если нашлось только одно – вывести его.
Линейными называются программы, состоящие из простых команд (операторов).
Простыми командами (простыми указаниями алгоритма) называются команды, которые не используют условия при своем исполнении. К числу простых операторов относятся команды (операторы) присваивания, ввода и вывода, вызова вс алгоритма (подпрограммы).Чаще для определения начальных значений удобнее пользоваться командой ввода, а не командой присваивания, потому что при необходимости использования программы с другими исходными данными не приходится менять текст программы.
Если в записи алгоритма стоит команда ввода, то его выполнение прерывается и управление передается программе, которая может осуществить ввод данных. После ввода данных управление передается следующей команде алгоритма.
На языке Паскаль процедура ввода данных имеет вид:
READ (список ввода);
READLN (список ввода).
При выполнении процедур READ и READLN программа переходит в состояние ожидания ввода данных. Если в списке ввода указано несколько переменных, то их можно вводить в одной строке, отделяя друг от друга символом «пробел», или в отдельных строках (в столбик), завершая ввод каждого значения клавишей Enter.
Оператор READLN отличается от оператора READ тем, что после введения необходимого числа данных курсор перемещается на следующую строку.
Если ввод данных осуществляется с клавиатуры, то список ввода - это список переменных, т.е. последовательность имен переменных, разделенных запятыми. Если ввод осуществляется из файла, то в списке ввода первая переменная - файловая, связана с именем реального файла.
Стандартные процедуры вывода результатов вычислений используются для вывода их значений на экран, принтер или в файл. На языке Паскаль процедуры вывода имеют вид:
WRITE (список вывода);
WRITELN (список вывода).Различие между WRITE и WRITELN заключается в том, что вывод оператором WRITE начинается с текущего местоположения курсора на экране монитора и курсор после окончания вывода остается в той же строке. Оператор WRITELN выводит значения с текущего места, а затем курсор перемещается на следующую строку. Можно использовать оператор WRITELN без списка вывода для перемещения курсора на новую строку.
1)S = input() l = len(s) integ = [] i = 0 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))
2)Print(integ)5 dkfj78df 9 8 dkfj8 [5, 78, 9, 8, 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)
3)Если в строке числа всегда отделены от слов пробелами, задача решается проще:
s = input() word_list = s.split() num_list = [] for word in word_list: if word.isnumeric(): num_list.append(int(word)) print(num_list)
поздравляю ты научился это делать сам