Python возрастающую арифметическую прогрессию

Задача на арифметическую прогрессию

Вводятся 3 строки в случайном порядке. Напишите программу, которая выясняет можно ли из длин этих строк построить возрастающую арифметическую прогрессию.

Формат входных данных
На вход программе подаются три строки, каждая на отдельной строке.

Формат выходных данных
Программа должна вывести строку «YES», если из длин введенных слов можно построить арифметическую прогрессию, «NO» в ином случае.

Не выводится данные через Print.Почему?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
x = str(input()) #пользователь введет 2434 v = str(input()) #пользователь введет 90099 z = str(input()) #пользователь введет 21 x1 = len(x) v1 = len(v) z1 = len(z) if x1v1z1: if v1-x1==z1-v1: print("YES") elif z1v1x1: if v1-z1==x1-v1: print("YES") elif x1z1v1: if z1-x1==v1-z1: print("YES") elif v1z1x1: if z1-v1==x1-z1: print("YES") elif z1x1v1: if x1-z1==v1-x1: print("YES") elif v1x1z1: if x1-v1==z1-x1: print("YES") else: print("NO")

Образуют ли элементы массива арифметическую прогрессию
Дан целочисленный массив размера N, не содержащий одинаковых чисел. Проверить, образуют ли его.

Задача на арифметическую прогрессию
Со стандартного потока ввода данных считываются значения переменных a,h,P. Разработать программу.

Вывести арифметическую прогрессию
Вывести в консоль числа кратные 3 из арифметической прогрессии с раз- ностью прогрессии d, большие.

Проверить арифметическую прогрессию
#include <stdio.h> #include <cstdlib> #include <conio.h> main ()

Эксперт Python

Лучший ответ

Сообщение было отмечено Catstail как решение

Решение

a = len(input()) b = len(input()) c = len(input()) if 2 * (a + b + c) == 3 * (min(a, b, c) + max(a, b, c)): print('YES') else: print('NO')

Эксперт функциональных языков программированияЭксперт Python

ЦитатаСообщение от Роман1997 Посмотреть сообщение

n = sorted([len(input()), len(input()), len(input())]) print('YES' if n[0] - n[1] == n[1] - n[2] else 'NO')

Эксперт Python

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
Мне очень интересно, как возможно так вывести формулу.Лично я еще до такого не дотянул.Какие только решения задач не увидишь, а Ваше решение и простое и сложное одновременно. В итоге после долгих поисков своей ошибке я понял в чем проблема и мой код выглядит так: x = str(input()) #пользователь введет 2434 v = str(input()) #пользователь введет 90099 z = str(input()) #пользователь введет 21 x1 = len(x) #4 v1 = len(v) #5 z1 = len(z) #2 if x1v1z1 and v1-x1==z1-v1: print("YES") elif z1v1x1 and v1-z1==x1-v1: print("YES") elif x1z1v1 and z1-x1==v1-z1: print("YES") elif x1z1v1 and z1-x1==v1-z1: print("YES") elif v1z1x1 and z1-v1==x1-z1: print("YES") elif z1x1v1 and x1-z1==v1-x1: print("YES") elif v1x1z1 and x1-v1==z1-x1: print("YES") else: print("NO")

Сформировать арифметическую прогрессию
Подскажите как сделать задачу. Сформировать арифметическую прогрессию, растущей из 10 элементов.

Вывести арифметическую прогрессию
Программа работает но не правильно, например: если вводишь 123794685 она должна вывести, 123 и.

Построить арифметическую прогрессию
Здравствуйте. Стояла задача: Разработать программу построения арифметической / геометрической.

Проверка списка на арифметическую прогрессию
Помогите решить задачу которая проверяет список на арифметическую прогрессию. Заранее благодарен

Задачка про арифметическую прогрессию!
натуральное n , действительные a1 , a2 , a3 . an . Получить n+an*a1

Проверка списка на арифметическую прогрессию
Программу реализовать двумя способами: с использованием стандартных процедур обработки списков и.

Источник

Решение модуля 6.2 «Поколение Python»

Все решения и ответы на модуль (урок) 6.2 из программы «Поколение Python: курс для начинающих».

Целью этого занятия будет научиться работать со строками и производить операции с ними.

Что покажет приведенный ниже фрагмент кода?

mystr = ‘да’
mystr = mystr + ‘нет’
mystr = mystr + ‘да’
print(mystr)

Ответ: данетда

Что покажет приведенный ниже фрагмент кода?

str1 = ‘1’
str2 = str1 + ‘2’ + str1
str3 = str2 + ‘3’ + str2
str4 = str3 + ‘4’ + str3
print(str4)

Ответ: 121312141213121

Что покажет приведенный ниже фрагмент кода?

mystr = ‘123’ * 3 + ‘456’ * 2 + ‘789’ * 1
print(mystr)

Ответ: 123123123456456789

Напишите программу, которая выводит текст:

«Python is a great language!», said Fred. «I don’t ever remember having this much fun before.»

Примечание. Используйте конкатенацию строк.

a = '"Python is a great language!", said Fred. ' b = '"I don' c = "'t ever remember having this much " d = 'fun before."' print(a + b + c + d)

What’s Your Name?

Напишите программу, которая считывает с клавиатуры две строки – имя и фамилию пользователя и выводит фразу:

«Hello [введенное имя] [введенная фамилия]! You just delved into Python».

Формат входных данных
На вход программе подаётся две строки (имя и фамилия), каждая на отдельной строке.

Формат выходных данных
Программа должна вывести текст в соответствии с условием задачи.

Примечание. Между firstname lastname вставьте пробел =)

a = input() b = input() print("Hello", a, b+"!", "You just delved into Python")

Футбольная команда

Напишите программу, которая считывает с клавиатуры название футбольной команды и выводит фразу:

«Футбольная команда [введённая строка] имеет длину [длина введённой строки] символов».

Формат входных данных
На вход программе подаётся строка – название футбольной команды.

Формат выходных данных
Программа должна вывести текст в соответствии с условием задачи.

command = input() dlina = str(len(command)) print('Футбольная команда ' + command + ' имеет длину ' + dlina + ' символов')

Три города

Даны названия трех городов. Напишите программу, которая определяет самое короткое и самое длинное название города.

Формат входных данных
На вход программе подаётся названия трех городов, каждое на отдельной строке.

Формат выходных данных
Программа должна вывести самое короткое и длинное название города, каждое на отдельной строке.

Примечание. Гарантируется, что длины названий всех трех городов различны.

a = input() b = input() c = input() if min (len(a), len(b), len(c)) == len(a): print(a) elif min (len(a), len(b), len(c)) == len(b): print(b) else: print(c) if max (len(a), len(b), len(c)) == len(a): print(a) elif max (len(a), len(b), len(c)) == len(b): print(b) else: print(c)

Арифметические строки

Вводятся 3 строки в случайном порядке. Напишите программу, которая выясняет можно ли из длин этих строк построить возрастающую арифметическую прогрессию.

Формат входных данных
На вход программе подаются три строки, каждая на отдельной строке.

Формат выходных данных
Программа должна вывести строку «YES», если из длин введенных слов можно построить арифметическую прогрессию, «NO» в ином случае.

a = len(input()) b = len(input()) c = len(input()) if a + b + c == (min(a, b, c) + max(a, b, c))/2*3: print("YES") else: print("NO")

Какие значения может принимать строковая переменная s , чтобы в результате выполнения кода было выведено слово «YES»?

if s in ‘abc123abc’:
print(‘YES’)
else:
print(‘NO’)

Цвет настроения синий

Напишите программу, которая считывает одну строку, после чего выводит «YES», если в введенной строке есть подстрока «синий» и «NO» в противном случае.

Формат входных данных
На вход программе подается одна строка.

Формат выходных данных
Программа должна вывести текст в соответствии с условием задачи.

s = input() if 'синий' in s: print('YES') else: print('NO')

Отдыхаем ли?

Напишите программу, которая считывает одну строку, после чего выводит «YES», если в введённой строке есть подстрока «суббота» или «воскресенье», и «NO» в противном случае.

Формат входных данных
На вход программе подается одна строка.

Формат выходных данных
Программа должна вывести текст в соответствии с условием задачи.

s = input() if 'суббота' in s or 'воскресенье' in s: print('YES') else: print('NO')

Корректный email

Будем считать email адрес корректным, если в нем есть символ собачки (@) и точки. Напишите программу проверяющую корректность email адреса.

Формат входных данных
На вход программе подаётся одна строка – email адрес.

Формат выходных данных
Программа должна вывести строку «YES», если email адрес является корректным и «NO» в ином случае.

Примечание. Наличие символов @ и . недостаточно для корректности email адреса, однако их отсутствие гарантировано влечёт за собой неверный email.

str = input() if '@' in str and '.' in str: print('YES') else: print('NO')

Источник

Как найти арифметическую прогрессию в списке?

Предположим есть список [1487, 1847, 4817, 4871, 7481, 7841, 8147, 8741] и в этом списке есть арифметическая прогрессия 1487, 4817, 8147 с шагом 3330. Какой есть оптимальный алгоритм поиска такой арифметической прогрессии? Список может быть рандомным

exibite777

lst=[1487, 1847, 4817, 4871, 7481, 7841, 8147, 8741] for i in range(len(lst)): for j in range(i+1,len(lst)): diff=lst[j]-lst[i] if lst[j]+diff in lst: print(lst[i],lst[j],lst[j]+diff)

adugin

Поиск по списку имеет сложность O(n), лучше использовать множество. А также некоторые эмпирические факты:

lst = set(lst) for a, c in combinations(lst, 2): b, r = divmod(a + c, 2) if not r and b in lst: print(a, b, c)

lastuniverse

к сожалению python не мой рабочий инструмент, поэтому сделал реализацию на js. Старался не использовать «особые фишки» языка, чтобы получить более универсальный код (с точки зрения переносимости на другие ЯП). Думаю вы без проблем сможете переписать его на python.

var arr1 = [1487, 1847, 4817, 4871, 7481, 7841, 8147, 8741]; var res1 = search(arr1); console.log(res1); // найдена 1 прогрессия. выведет: // [ // [ 1487, 4817, 8147 ] // ] var arr2 = [1487, 1847, 4817, 4871, 7481, 7841, 8147, 8741, 10001]; var res2 = search(arr2); console.log(res2); // найдено 2 прогрессии. выведет: // [ // [ 1487, 4817, 8147 ], // [ 7481, 8741, 10001 ] // ] function search(a) < // создадим массив, в который будем заносить данные о найденых прогрессиях var result = []; // проверяем в цикле все числа for(var start=0; start> // если в массиве 3 элемента или более, то считаем что // еще одна прогрессия найдена и запоминаем ее в // массиве с результатами if( list.length>2) < result.push(list); >console.log(start, i, step, list) > > // возвращаем массив результатов return result; >

adugin

import numpy as np from collections import deque from itertools import combinations # data = np.array([1487, 1847, 4817, 4871, 7481, 7841, 8147, 8741]) np.random.seed(42) data = np.random.randint(0, 100000, 1000) data.sort() # Интуитивный подход (baseline), O(n^3) def find_evenly_spaced_v1(data): for a, b, c in combinations(data, 3): if b - a == c - b: yield a, b, c # Эмпирическая оптимизация, O(n^2) def find_evenly_spaced_v2(data): dataset = set(data) for a, c in combinations(data, 2): b, mod = divmod(a + c, 2) if (mod == 0) and (b in dataset): yield a, b, c # Векторный вариант def find_evenly_spaced_v3(data): grid = data.reshape(-1, 1) + data.reshape(1, -1) divs, mods = np.divmod(grid, 2) mask = np.tri(*grid.shape, -1, dtype='bool') & np.isin(divs, data) & ~ mods.astype('bool') for c, a in zip(*np.where(mask)): b = divs[a, c] a, c = data[[a, c]] yield a, b, c

Измерения скорости для 1000 элементов:

Источник

Можно ли элементы массива переставить так, чтобы получилась арифметическая прогрессия

Задан числовой массив из N элементов. Напишите программу, которая проверяет, можно ли элементы этого массива переставить так, чтобы получилась арифметическая прогрессия.
Примеры
Ввод:
5
20 10 40 30 50
Вывод:
YES
10
Ввод:
5
60 10 40 50 30
Вывод:
NO
50
P.S. НАПИСАТЬ ЧЕРЕЗ СЛОВАРИ ИЛИ СТРОКИ, ЭТО ОЧЕНЬ ВАЖНО

Проверить, можно ли переставить элементы массива так, чтобы получилась арифметическая прогрессия
Реализовать выполнение заданных действий над одномерным массивом. Число элементов массива задаётся.

Переставить элементы двумерного массива, чтобы при проходе по строкам получилась последовательность
Пользователем вводится двумерный массив. Переставить его элементы так чтобы при проходе по строкам.

Переставить элементы массива так, чтобы в начале массива расположились все его неотрицательные элементы
Дан массив а1,а2,…,аn. Переставить его элементы так, чтобы в начале массива расположились все его.

Переставить элементы массива так, чтобы сначала были неотрицательные элементы, затем отрицательные
Дан массив из N действительных чисел. Переставить элементы массива так, чтобы сначала расположились.

Переставить элементы массива так, чтобы в начале оказались четные элементы, а в конце — нечетные
Очередная,теперь уже последняя "проблема" с вба.Необходимо переставить элементы массива так,чтобы в.

Источник

Читайте также:  Python save file as pdf
Оцените статью