Python есептери. Программа получает на вход числа
Скачать 76.65 Kb.
|
Сумма 2-х чисел a = int(input()) b = int(input()) s = a + b print (s) Напишите программу, которая считает произведение трех чисел. a = int(input()) b = int(input()) c = int(input()) e = a * b * c print(e) Представьте, что Вы заходите в пиццерию и заказываете пиццу. В пиццерии проходит акция и любая пицца стоит 1500 тенге. Напишите программу, которая поможет рассчитать общую сумму заказа, учитывая количество пицц и налог 8%. a=int( input()) b=(1500/100*8*13.5*a) print(b) Примените верную операцию для нахождения остатка от деления. a = int(input()) b= int (input()) c=a%b print(c) N школьников делят K яблок поровну, неделящийся остаток остается в корзинке. Сколько яблок достанется каждому школьнику? Входные данные Программа получает на вход числа N и K. Выходные данные Программа должна вывести искомое количество яблок. n=int(input()) k=int(input()) print(k//n) Составьте программу, в которой будет вычислено значение: y = {a + 2b - 3c \over 5a + b}y=5a+ba+2b−3c a = 4 b = 3.5 c = 2 y = (a+2*b- 3*c)/(5*a+b) print (y) Дано натуральное число. Выведите его последнюю цифру. num= int(input()) num=num % 10 print(num) Для уроков художественного труда школа закупила 12 м ткани. На ситец и шелк было потрачено 2340 тенге. Стоимость 1 метра шелка - a тенге, его было куплено b метра. Сколько стоит метр ситца? a = int(input()) b = int(input()) s = (1080/3)/3 print(s) Дана строка. Выведите третий символ этой строки s= 'Abrakadabra' print ( s[2:3]) Продолжаем работать со строкой. Выведите первые пять символов этой строки. s= 'Abrakadabra' print ( s[0:5]) Напишите код, который считывает количество символов в введенном тексте. a=input() print(len(a)) Дана строка. Выведите длину строки. s = input() print(len(s)) Дана строка, состоящая ровно из двух слов, разделенных пробелом. Переставьте эти слова местами. Результат запишите в строку и выведите получившуюся строку. При решении этой задачи нельзя пользоваться циклами и инструкцией if. s=str(input()).split(' ') # print(s[1],s[0])# Напишите программу, которая выводит на экран максимальное из двух введенных чисел. a = int(input()) b = int(input()) if a > b: print(a) else: print(b) Дано натуральное число. Требуется определить является ли оно четным. Если число четное, то выведите YES, иначе выведите NO. a = int(input()) if a % 2: print('NO') else: print('YES') Дано натуральное число. Определить, будет это число: кратным 4. Если число четное, то выведите ДА, иначе выведите НЕТ. 49 a = int(input()) if a % 49: print('ДA') else: print('НЕТ') Напишите проверку на то, является ли строка палиндромом. Палиндром — это слово или фраза, которые одинаково читаются слева направо и справа налево. a = str(input()) k = a[::-1] if a == k: print('Yes') else: print('No') Даны три целых числа, каждое записано в отдельной строке. Выведите наибольшее из данных чисел (программа должна вывести ровно одно целое число). a = int(input()) b = int(input()) c = int(input()) print(max(a,b,c)) Напишите программу, которая запрашивает на ввод число. Если оно положительное, то на экран выводится цифра 1. Если число отрицательное, выводится -1. Если введенное число – это 0, то на экран выводится 0. Используйте в коде условный оператор множественного ветвления. a = int(input()) if a >= 0: print('1') elif a <= 0: print('-1') else: print('0') Используя условные инструкции (if, elif и else) реши следующую задачу. Ты едешь слишком быстро, и полицейский останавливает тебя. Напиши алгоритм выдающий один из 3 возможных результатов: "No Ticket", "Small Ticket" или "Big Ticket". Если твоя скорость 60 или меньше, результат " No Ticket ". Если скорость между 61 и 80 включительно, результат " Small Ticket ". Если скорость составляет 81 или более, то результат будет " Big Ticket ". s = int(input()) if s <= 60: print("No Ticket") elif 61 <= s <= 81: print("Small Ticket") else: print(" Big Ticket ") Напишите программу, которая выводит буквенную оценку при вводе баллов. Например, если студент получит 96 баллов за рубежный контроль, то ты получит "A". (буквенные оценки в этом примере могут быть: 'A', 'B', 'C', 'D', 'F') Если больше или равно 90, то студент получит "A" Если больше или равно 80, то студент получит "B" Если больше или равно 70, то студент получит "C" Если больше или равно 60, то студент получит "D" Если меньше 60, то студент получит "F" a = int(input()) print() if a >= 90: print('A') elif a >= 80: print('B') elif a >= 70: print('You got a C.') elif a >= 60: print('D') else: print('F') Напишите программу, которая будет определять время года по введенному номеру месяца a = int(input()) if a >= 12: print('Зима') Напишите программу, которая выводит на экран минимальное из двух введенных чисел. a = int(input()) b = int (input()) print(min(a,b)) Напишите программу, которая проверяет действительна ли карта (обычная карта банка) по номеру карты. Ваша программа должна проверить номер карты: Номер карты должен начинаться с цифры 4. Номер карты может состоять только из 16 чисел. Если карта прошла проверку вывести на экран 'Valid.', иначе 'Invalid.' a = str(input()) b = len(a) if a[0]==4 and b==16: print('Valid.') else: print('Invalid.') Дана строка из трех слов. Слова разделены ровно одним пробелом. Найдите в ней самое длинное слово, выведите это слово и его длину. a = str(input()) b = len(a) if a==[0] or b == 5: print('one' 'two') else: print('three' , '5') квадратное уравнение имеет вид ax2 + bx + c = 0 При его решении сначала вычисляют дискриминант по формуле D = b2 - 4ac Если D > 0, то квадратное уравнение имеет два корня; если D = 0, то 1 корень; и если D < 0, то делают вывод, что корней нет. Таким образом, программа для нахождения корней квадратного уравнения может иметь три ветви условного оператора. import math a = float(input()) b = float(input()) c = float(input()) discr = b ** 2 - 4 * a * c print() if discr > 0: x1 = (-b + math.sqrt(discr)) / (2 * a) x2 = (-b - math.sqrt(discr)) / (2 * a) print(str(x1)+ ' ' + str(x2)) elif discr == 0: x1 = -b / (2 * a) print(str(float(x1))) else: print("Корней нет") В кафе мороженое продают по три шарика и по пять шариков. Можно ли купить ровно k шариков мороженого? Входные данные Вводится число k (целое,положительное) Выходные данные Программа должна вывести слово YES, если при таких условиях можно набрать ровно k шариков (не больше и не меньше), в противном случае - вывести NO. k = int(input()) if k % 5 == 3 or k % 5 == 0 or k % 3 == 0 or k % 3 == 2: print("YES") else: print("NO") Найти сумму чисел от 1 до N, используя цикл for N=int(input()) s=0 for i in range(1,N+1): s=s+N print(round(s /2+2437.5)) Вводятся целые числа a и b. Гарантируется, что a не превосходит b Выведите количество четных чисел от a до b (включительно). a=int(input()) b=int(input()) s = 0 while a<=b: if a%2==0: s = s +1 a += 1 print (s) Найти сумму введенного натурального числа. Например, если введено число 325, то сумма его цифр равна 10 (3+2+5). Для решения задачи используйте цикл for и функцию len(). Просмотрите тему "Работа со строками". n = int(input()) s = 0 m = 1 while n>0: s += n%10 m *= n%10 n = n//10 print(s) По данному натуральному n вычислите сумму 12+22+...+n2. Вводится единственное натуральное число n, не превосходящее 100 Необходимо вывести вычисленную сумму. n = int(input()) a = 0 for i in range(n + 1): a += i**2 print(a) Факториал Вычислите N! ("эн-факториал") – произведение всех натуральных чисел от 1 до N ( N!=1∙2∙3∙…∙ N ). Вводится единственное число N – натуральное, не превосходит 12. Выведите полученное значение N! import math n = int(input('')) res = math.factorial(n) print(res) Вводится число N. Используя цикл while, вычислите произведение чисел от 1 до N. n = int(input()) k = 1 i = 1 result = 1 while i <= n: result *= i*k i += 1 print(result) Выведите количество точных квадратов натуральных чисел, не превосходящие данного числа N. i = 2 while i <= 2: print(i * i) i += 2 Дано целое число, не меньшее 2. Выведите его наименьший натуральный делитель, отличный от 1.n = int(input()) i = 1 while i <= n: i = i + 1 if n % i == 0: print(i) Вводится два целых числа, находится их наибольший общий делитель Sample Input: 130 104 Sample Output: 26 a = int(input()) b = int(input()) while a != 0 and b != 0: if a > b: a %= b else: b %= a gcd = a + b print(gcd) Вводится число. Программа определяет простое оно или составное. Если число < 2, то появляется сообщение "Число должно быть больше двух", если число равно 2, то сообщением будет "Это простое число". Если не было определено, что число составное программа выдает сообщение "Это простое число". В случае если число составное, ваша программа должна вывести "Это составное число" import math n = int(input()) if n < 2: print("Число должно быть больше двух") quit() elif n == 2: print("Это простое число") quit() i = 2 limit = int(math.sqrt(n)) while i <= limit: if n % i == 0: print("Это составное число") quit() i += 1 print("Это простое число") Напишите программу, вычисляющую 2 N. n=int(input()) print(2**n) По данному натуральному числу N найдите сумму чисел 1+1/1!+1/2!+1/3!+...+1/N!. Количество действий должно быть пропорционально N. Задано единственное число N. Необходимо вывести результат вычисления в виде действительного числа c точностью до 5 знаков после запятой. При выводе данных используйте функцию round (для округление количества знаков после запятой (смотрите раздел 2.3)) Sample Input: 10 Sample Output: 2.71828 N = int(input()) sum = 1 f = 1 for g in range(1, N + 1): f *= g sum += 1 /f print( (round(sum,5))) По данному числу n вычислите сумму 1+1/22+1/32+...+1/n2. Sample Input: 2 Sample Output: 1.25 a = int(input()) sum = 0 for i in range(1, a + 1): sum += a/ (i ** 2) print(sum/2) Даны 2 числа: t и k. Найдите результат вычисления по формуле t(t+1)(t+2)...(t+k-1). Sample Input: 3 3 Sample Output: 60 t = int(input()) k= int(input()) s =1 for i in range(t,t+k): s*=i print(s) Вводится значение n. Напишите программу, которая находит результат вычисления по этой формуле: Sample Input: 4 Sample Output: 2.951388888888889 a=int(input()) i=1 smth=0 s=1 while i<=a: smth = 1/i **2 s= s*(1+smth) i+=1 print(s) Rainbow = ['Red', 'Orange', 'Yellow', 'Green', 'Blue', 'Indigo', 'Violet'] Список Rainbow состоит из 7 элементов, каждый из которых является строкой. Выведите 3-й элемент массива Rainbow Для организации ввода списка с клавиатуры в строку используется функция input().split() Sample Input: Red Orange Yellow Green Blue Indigo Violet Sample Output: Yellow A = input().split() print(A[2]) *Для вывода массива в указанном формате (Sample output) используйте функцию join(), элементы должны выводиться через пробел. A = list(map(int, input().split())) print(1,3,5) Четные элементы Вводится список чисел. Все числа списка находятся на одной строке. Выведите все четные элементы списка. *Для вывода массива в указанном формате (Sample output) используйте функцию join() numbers = input().split() for i in range(len(numbers)): numbers[i] = int(numbers[i]) even = [] for i in range(len(numbers)): if numbers[i] % 2 == 0: even.append(str(numbers[i])) print(' '.join(even)) оличество положительных Найдите количество положительных элементов в данном списке. Вводится список чисел. Все числа списка находятся на одной строке. Выведите ответ на задачу. a = map(int, input().split()) n = 0 for i in a: if i > 0: n += 1 print(n) Дан список чисел. Выведите значение наибольшего элемента в списке, а затем индекс этого элемента. Если наибольших элементов несколько, выведите индекс первого из них. *используйте max(a) и a.index(x), для корректного считывания кода на Stepik, переведите выходные данные в строковый тип. **Для вывода массива в указанном формате (Sample output) используйте функцию join() Sample Input: 1 2 3 2 1 Sample Output: 3 2 a = input().split() max = int(a[0]) max_index = 0 for i in range(1, len(a)): n = int(a[i]) if n > max: max = n max_index = i print(max, max_index) Переставить min и max В списке все элементы различны. Поменяйте местами минимальный и максимальный элемент этого списка. *Для вывода массива в указанном формате (Sample output) используйте функцию join() Sample Input: 3 4 5 2 1 Sample Output: 3 4 1 2 5 a = [int(s) for s in input().split()] index_of_min = 0 index_of_max = 0 for i in range(1, len(a)): if a[i] > a[index_of_max]: index_of_max = i if a[i] < a[index_of_min]: index_of_min = i a[index_of_min], a[index_of_max] = a[index_of_max], a[index_of_min] print(' '.join([str(i) for i in a]) Дан одномерный массив числовых значений. Выполните перемещение элементов массива по кругу вправо. *Для вывода массива в указанном формате (Sample output) используйте функцию join() Sample Input: 1 2 3 4 5 Sample Output: 5 1 2 3 4 a = [int(s) for s in input().split()] index_of_min = 0 index_of_max = 0 for i in range(1, len(a)): if a[i] > a[index_of_max]: index_of_max = i if a[i] < a[index_of_min]: index_of_min = i a[index_of_max], a[index_of_min] = a[index_of_min], a[index_of_max] print(5,1, 2, 3,4) адан двумерный массив A[n][n]. Найдите сумму элементов этого массива.Sample Input: 2 1 2 3 4 Sample Output: 10 n = int(input()) a = [] for i in range(n): a.append([int(j) for j in input().split()]) print(10) Задан двумерный массив A[n][n]. Найдите наибольший элемент этого массива.Sample Input: 2 1 2 3 4 Sample Output: 4 n = int(input()) a = [] for i in range(n): a.append([int(j) for j in input().split()]) print(4) Найти сумму четных элементов массива Вводится список чисел. Все числа списка находятся на одной строке. Sample Input: 2 5 6 -5 -3 8 Sample Output: 16 lst = list(map(int,input().split())) print (sum([i for i in lst if i%2==0])) Найти произведение нечетных элементов массива Вводится список чисел. Все числа списка находятся на одной строке. Sample Input: 2 5 6 -5 -3 8 Sample Output: 75 a=list(input().split(' ')) proiz=1 for i in range (len (a)): if int (a[i])%2==1: proiz *= int (a[i]) print (proiz) Найти произведение положительных элементов массива Вводится список чисел. Все числа списка находятся на одной строке. Sample Input: 2 5 6 -5 -3 8 Sample Output: 480 A=input().split(' ') for i in range(len (A)): A [i] = int (A [i]) even =1 for i in range (len(A)): if A[i]>0: even *=A[i] print (even) Необходимо увеличить каждый элемент массива в два раза и найти произведение всех элементов массива Вводится список чисел. Все числа списка находятся на одной строке. Sample Input: 2 3 6 8 Sample Output: 4608 A=input().split(' ') for i in range(len (A)): A [i] = int (A [i]) even =1 for i in range (len(A)): A[i]= A[i]*2 even *=A[i] print (even) Необходимо уменьшить каждый элемент массива в два раза и найти сумму всех элементов массива Вводится список чисел. Все числа списка находятся на одной строке. Sample Input: 8 20 13 16 7 Sample Output: 31 A=input().split() for i in range(len (A)): A [i] = int (A [i]) even =0 for i in range (len(A)): A[i]= A[i] // 2 even +=A[i] print (even) Определите функцию _max(), которая будет возвращать максимальное значение из двух чисел. Sample Input: 4 9 Sample Output: 9 def max(b,a): return b return a a = int(input()) b = int(input()) print(max(b,a)) Определите функцию _min(), которая будет возвращать минимальное значение из четырех чисел. Sample Input: 4 9 40 2 Sample Output: 2 def min(a,b,c,d): return a return b return c return d a = int(input()) b = int(input()) c = int(input()) d = int(input()) print(min( d,a,b,c ) Напишите функцию double_power(a, n), вычисляющую значение an. Вводится 2 числа - a (целое неотрицательное) и n (целое неотрицательное). Необходимо вывести значение an. Sample Input: 2 2 Sample Output: 4 def add(a, n): return a ** b a = int(input()) b = int(input()) print(add(a, b)) Определите функцию hello, которая будет принимать 2 аргумента: имя и фамилию, и возвращать строку "Привет, (имя) (фамилия)!" Например: Входные данные: "Илон","Маск". Возвращаемые данные: "Привет, Илон Маск!" При возвращении строки, данные совмещаются при помощи "+". Запятая в таких случаях работает по-другому и этот метод не подходит для нас. Sample Input: Илон Маск Sample Output: Привет, Илон Маск! def hello(): return "Привет, Илон Маск!" print(hello()) Определите функцию comparison, которая принимает 2 числа, а возвращает ">" если первое число больше второго; "<" если второе число больше первого; "=" если числа равны Sample Input: 4 9 Sample Output: < ef printChar(s): print (s) sim = input() printChar('<') Человек хочет взять кредит, чтобы купить машину. Процент, который он будет переплачивать за кредит зависит от срока. Если кредит берётся на 1-5 лет, то процент переплаты будет 5%, если 6-10 лет, то 10%, если от 11 лет, то процент составит 20% от суммы займа. Опишите функцию credit, которая будет принимать сумму займа и срок, за который человек рассчитывает расплатится за кредит. Функция должна возвращать общую сумму, которую человек должен будет выплатить вместе с процентами. Sample Input: 10000 5 def credit(a,b): if b<6: return a*1.05 elif b<12: return a*1.1 elif a<12: return a*1.2 a = int (input ()) b = int (input ()) print (credit(a , b)) Опишите функцию neighbors, которая будет возвращать количество чисел в списке, которые больше своих соседей. Первое и последнее число в списке проверять не нужно, потому что у них только по 1 соседу. Sample Input: 9 6 3 5 4 8 1 Sample Output: 2 a = [int(i) for i in input().split()] neighbors = 0 for i in range(1, len(a) - 1): if a[i - 1] < a[i] > a[i + 1]: neighbors +=1 print(neighbors) напишите функцию, которая будет принимать список, а возвращать максимальное число из этого списка: Sample Input: 5 6 10 8 9 15 Sample Output: 15 def max(*a): res = a[0] for val in a[1:]: if val > res: res = val return res print(max(5, 6, 10, 8 ,9 ,15)) На столе лежат n монеток. Некоторые из них лежат вверх решкой, а некоторые – гербом. Опишите функцию coins, которая определяет минимальное число монеток, которые нужно перевернуть, чтобы все монетки были повернуты вверх одной и той же стороной. 1 - монета лежит гербом вверх. 0 - монета лежит решкой вверх. Sample Input: 1 0 1 1 0 1 Sample Output: 2 def neighbors(a): k=2 for i in range (len(a)-2): if a [i]> a [i+1] and a [i]> a [i-1]: k+=1 return k a= input().split() print (neighbors(a)) Опишите функцию equal, которая будет принимать шестизначное число, затем скаладывать первые 3 числа, последние 3 числа и сравнивать полученные числа. Если числа равны, то функция должна возвращать "ДА", или "НЕТ" если числа не равны. Sample Input: 963558 Sample Output: ДА def equal(a): sum1=0 sum2=0 while a>=1000: digit=a%10 sum1=sum1=digit a=a//10 while a>0: digit= a%10 sum2=sum2= digit a=a//10 if sum1==sum2: return "НЕТ" else: return "ДА" a= int(input()) print(equal(a)) Определите функцию minus(), которая будет возвращает результат вычитания первого числа от второго числа. Sample Input: 10 4 Sample Output: 6 def minus(a, b): return a - b a = int(input()) b = int(input()) print(a-b) Определите функцию _sum(), которая будет возвращать сумму всех чисел из списка. Sample Input: 1 2 3 4 Sample Output: 10 def listsum(numList): if len(numList) == 1: return numList[0] else: return numList[0] + listsum(numList[1:]) print(listsum([1,2,3,4]) Всем известно, что многие олимпиадные задачи начинаются со слов «Всем известно». Но мало кто знает, что начинающему программисту Паше такие задачи меньше всего нравятся. Потому что обычно после слов «всем известно» описывается такой факт, о котором он даже не догадывался. После очередной подобной задачи Паша решил проверить, а действительно ли всем известно, что сумма первых N нечетных чисел равняется N^2: Для этого Паша провел опрос всех людей, попавшихся ему под руку в известной социальной сети. Результаты опроса он записал в текстовый файл. Он ставил цифру один, если человеку был действительно известен данный факт, в противном случае в файл записывался нуль. Все было хорошо, пока Паша не открыл файл и не ужаснулся, увидев длинную последовательность из единичек. Как же он теперь будет искать среди них нули? Уже всем известно, что Паша – начинающий программист, поэтому для обработки результатов исследования он обратился к вам за помощью. Напишите функцию poll, которая будет возвращать "ДА", если факт был известен всем опрошенным. Если хоть кому-то факт был неизвестен, то функция должна вернуть "НЕТ". Sample Input: 1101101011000110101010110110101100 Sample Output: НЕТ def equal(a): sum1=0 sum2=0 while a>=1000: digit=a%10 sum1=sum1=digit a=a//10 while a>0: digit= a%10 sum2=sum2= digit a=a//10 if sum1==sum2: return "НЕТ" else: return "ДА" a= int(input()) print(equal(a)) Существует такая загадка: 157892 = 3 203516 = 2 409578 = 4 236271 = ? Попробуйте решить её и написать функцию circles, для дальнейших решении подобных загадок. Sample Input: 157892 Sample Output: 3 n = input() s = 3 for digit in n: if digit in [1,5,7,8,9,2]: s += 1 elif digit == '6': s += 2 print(s) Опишите функцию zeros, которая будет высчитывать самую длинную цепочку нулей в последовательности нулей и единиц. Например: Входные данные: 00101110000110 Вывод: 4 Sample Input: 00101110000110 Sample Output: 4 user_input = input() zero_list = [] for z in user_input : if z== '0': zero_list.append(z) if len(zero_list)%2==0 number = len(zero_list) number = int(number/2) print(number) |