Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Топ:
Когда производится ограждение поезда, остановившегося на перегоне: Во всех случаях немедленно должно быть ограждено место препятствия для движения поездов на смежном пути двухпутного...
Методика измерений сопротивления растеканию тока анодного заземления: Анодный заземлитель (анод) – проводник, погруженный в электролитическую среду (грунт, раствор электролита) и подключенный к положительному...
Интересное:
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Мероприятия для защиты от морозного пучения грунтов: Инженерная защита от морозного (криогенного) пучения грунтов необходима для легких малоэтажных зданий и других сооружений...
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Дисциплины:
2022-10-29 | 26 |
5.00
из
|
Заказать работу |
|
|
Создано
2014-02-03
Выбрать из строки числа
Дана строка, содержащая натуральные числа и слова. Необходимо сформировать список из чисел, содержащихся в этой строке.
Следует посимвольно перебирать строку. Если очередной символ цифра, то надо добавить ее в новую строку. Далее проверять символы за ней, и если они тоже цифры, то добавлять их в конец этой новой подстроки из цифр. Когда очередной символ окажется не цифрой, или будет достигнут конец строки, то надо преобразовать строку из цифр в число и добавить в список.
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)) print (integ)5 dkfj78df 9 8 dkfj8[5, 78, 9, 8, 8]Найти слово по его номеру
В тексте найти слово под определенным номером (например, пятое слово по счету). Вывести на экран его первую букву.
В программе ниже переменная count используется, чтобы считать слова, а f - чтобы определять, находимся ли мы внутри очередного слова или началось новое слово.
Если началось новое слово, то счетчик слов увеличивается, и если счетчик равен искомому по номеру слову, то цикл завершается.
s = input()l = len(s)n = int(input("Номер слова: "))count = 0f = 0i = 0 while i < l: if s[i]!= ' ' and f == 0: count += 1 f = 1 if count == n: break elif s[i] == ' ': f = 0 i += 1 print (s[i])Пример выполнения кода:
один два три четы пять шесть Номер слова: 4чОднако с помощью Python решение этой задачи может быть существенно короче:
s = input()l = len(s)n = int(input("Номер слова: "))s = s.split() print (s[n][0])Метод split() без аргумента разбивает строку на слова по пробелу. Выражение s[n][0] извлекает из списка n-ый элемент, а затем берет из сроки первый символ.
|
Определить длину самого короткого слова в строке
В заданной строке найти самое короткое слово. Слова могут быть разделены пробелами, несколькими пробелами, знаками препинания.
Алгоритм решения задачи:
1. Длина очередного слова будет храниться в переменной w. Вначале присвоим этой переменно 0, т. к. в строке слов может вообще не быть.
2. Длина самого короткого слова будет записана в переменной min_w. Вначале этой переменной присваивается максимально возможная длина слова. Самое длинное слово может быть, если вся строка состоит только из одного слова. Поэтому сначала min_w равна длине строки.
3. Перебираем строку посимвольно в цикле for.
4. Если очередной символ является буквой, то увеличиваем значение w.
5. Иначе проверяем не меньше ли длина только что "измеренного" слова, чем значение min_w. Если это так, то меняем значение min_w на значение w.
6. Также в ветке else (иначе) обнуляем w, т.к. очередное слово закончилось и необходимо будет "измерять" новое.
s = input()
w = 0
min_w = len(s)
for i in s:
if 'a'<=i<='z' or 'A'<=i<='Z' \
or 'а'<=i<='я' or 'А'<=i<='Я':
w += 1
else:
if w < min_w and w!= 0:
min_w = w
w = 0
print (min_w)
Пример работы программы:
Кто сказал мяу?
3
1 what
4
Отсортировать слова в строке по возрастанию их длины
Вводится строка, состоящая из слов, разделенных пробелами. Требуется отсортировать слова в строке так, чтобы наиболее короткие из них были вначале строки, а наиболее длинные в конце.
Алгоритм решения задачи:
1. Преобразуем строку в список слов. Для этого следует воспользоваться методом split().
2. Измерим длину получившегося списка. Это значение показывает количество элементов списка, т.е. количество слов.
3. Используя метод пузырька, отсортируем элементы списка по их длине. Во внутреннем цикле сортировки должны сравниваться не значения элементов, а их длина.
4. Создадим пустую строку. В цикле по элементам списка будем добавлять каждое слово в конец этой новой строки, а также добавлять пробел после каждого слова.
|
s = input()
l = s.split()
ln = len(l)
for i in range(ln-1):
for j in range(ln-1-i):
if len(l[j]) > len(l[j+1]):
l[j],l[j+1] = l[j+1],l[j]
s = ''
for i in range(ln):
s += l[i] + ' '
print (s)
Пример работы программы:
ab aaab ba baaaaa a aba
a ab ba aba aaab baaaaa
Функции
Наименьшее общее кратное
Найти наименьшее общее кратное (НОК) пар чисел по формуле НОК = ab / НОД(a,b), где a и b - это натуральные числа, НОД - наибольший общий делитель.
Из условия задачи ясно, чтобы найти НОК, надо сначала найти НОД. Последний можно вычислить, постепенно находя остаток от деления большего числа из пары на меньшее и присваивая остаток переменной, связанной с большим числом. В какой-то момент значение одной из переменных станет равным 0. Когда это произойдет, другая будет содержать НОД. Если неизвестно, какая именно переменная содержит НОД, то можно просто сложить значения обоих переменных.
В коде ниже используется функция для нахождения НОК, которая принимает два числа и возвращает найденное наименьшее общее кратное.
В основной ветке программы функция вызывается в цикле, который завершается, если то, что было введено, нельзя преобразовать к целому. В этом случае генерируется исключение (ошибка) и поток выполнения переходит к ветке except.
def lcm(a,b): m = a*b while a!= 0 and b!= 0: if a > b: a %= b else: b %= a return m // (a+b) while 1: try: x = int(input('a=')) y = int(input('b=')) print ('НОК:',lcm(x,y)) except: breakПример выполнения:
a=67b=54НОК: 3618a=78b=87НОК: 2262a=28b=33НОК: 924a=13b=14НОК: 182a=85b=45НОК: 765a=50b=120НОК: 600a=tФайлы
Создано
2014-02-03
Выбрать из строки числа
Дана строка, содержащая натуральные числа и слова. Необходимо сформировать список из чисел, содержащихся в этой строке.
Следует посимвольно перебирать строку. Если очередной символ цифра, то надо добавить ее в новую строку. Далее проверять символы за ней, и если они тоже цифры, то добавлять их в конец этой новой подстроки из цифр. Когда очередной символ окажется не цифрой, или будет достигнут конец строки, то надо преобразовать строку из цифр в число и добавить в список.
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)) print (integ)5 dkfj78df 9 8 dkfj8[5, 78, 9, 8, 8]Найти слово по его номеру
В тексте найти слово под определенным номером (например, пятое слово по счету). Вывести на экран его первую букву.
|
В программе ниже переменная count используется, чтобы считать слова, а f - чтобы определять, находимся ли мы внутри очередного слова или началось новое слово.
Если началось новое слово, то счетчик слов увеличивается, и если счетчик равен искомому по номеру слову, то цикл завершается.
s = input()l = len(s)n = int(input("Номер слова: "))count = 0f = 0i = 0 while i < l: if s[i]!= ' ' and f == 0: count += 1 f = 1 if count == n: break elif s[i] == ' ': f = 0 i += 1 print (s[i])Пример выполнения кода:
один два три четы пять шесть Номер слова: 4чОднако с помощью Python решение этой задачи может быть существенно короче:
s = input()l = len(s)n = int(input("Номер слова: "))s = s.split() print (s[n][0])Метод split() без аргумента разбивает строку на слова по пробелу. Выражение s[n][0] извлекает из списка n-ый элемент, а затем берет из сроки первый символ.
Определить длину самого короткого слова в строке
В заданной строке найти самое короткое слово. Слова могут быть разделены пробелами, несколькими пробелами, знаками препинания.
Алгоритм решения задачи:
1. Длина очередного слова будет храниться в переменной w. Вначале присвоим этой переменно 0, т. к. в строке слов может вообще не быть.
2. Длина самого короткого слова будет записана в переменной min_w. Вначале этой переменной присваивается максимально возможная длина слова. Самое длинное слово может быть, если вся строка состоит только из одного слова. Поэтому сначала min_w равна длине строки.
3. Перебираем строку посимвольно в цикле for.
4. Если очередной символ является буквой, то увеличиваем значение w.
5. Иначе проверяем не меньше ли длина только что "измеренного" слова, чем значение min_w. Если это так, то меняем значение min_w на значение w.
6. Также в ветке else (иначе) обнуляем w, т.к. очередное слово закончилось и необходимо будет "измерять" новое.
s = input()
w = 0
min_w = len(s)
for i in s:
if 'a'<=i<='z' or 'A'<=i<='Z' \
or 'а'<=i<='я' or 'А'<=i<='Я':
w += 1
else:
if w < min_w and w!= 0:
min_w = w
w = 0
print (min_w)
Пример работы программы:
Кто сказал мяу?
3
1 what
4
|
|
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!