Re: Задачі в один рядок на Пітоні
Перевірити, чи є задане число числом Капрекара.
ну і , здається , можна умову по правій частині запхати. якщо я правильно її зрозумів
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → Python → Задачі в один рядок на Пітоні
Для відправлення відповіді ви повинні увійти або зареєструватися
Перевірити, чи є задане число числом Капрекара.
ну і , здається , можна умову по правій частині запхати. якщо я правильно її зрозумів
класична задача: FizzBuzz
Write a program that prints the integers from 1 to n (inclusive).
But:
for multiples of three, print Fizz (instead of the number)
for multiples of five, print Buzz (instead of the number)
for multiples of both three and five, print FizzBuzz (instead of the number)
def solution(n):
print <code>
рішення:
або простіше:
Числом Капрекара зветься число, запис квадрату якого можна розкласти на дві частини, сума яких дорівнює цьому числу. Наприклад,
45**2 = 2025, 20+25=45
297**2=88209, 88+209=297
Перевірити, чи є задане число числом Капрекара.▼Прихований текстНасправді, це визначення неповне - там ще є уточнення, що права частина не може бути 0. І щось адекватно запхати цю умову у мене поки що не виходить. Звісно, можна обмежити пошук не по range(1+2*len(str(n))), а перевіряти тільки len(str(n)), але щось мені ліньки доводити, що це еквівалентно.
code in Python that takes a string s as input and determines the longest substring of s that’s in alphabetical order. In the case where there are two(or more) strings of the same length, code outputs the first in alphabetical order.
sol('f') = 'f'
sol('zopstdabcd') = 'abcd'
sol('azcbobobegghakl') = 'beggh'
рішення:
Given single line with integers, separated by a space.
Output the elements from the odd positions, each on a separate line, and the sum of this elements.
0 1 2 3 4 5 6 7 8 9 10 20 30
1
3
5
7
9
20
45
рішення:
ніби коротше. А крапка з комою мені подобається більше за if print().
▼Прихований текстніби коротше. А крапка з комою мені подобається більше за if print().
ну так крапка з комою - це вже не один рядок а формат запису n інструкцій в один рядок.
ці задачі точніше було б формулювати- написати в ОДНУ інструкцію, а не в ОДИН рядок.
не один рядок а формат запису n інструкцій в один рядок.
Не розумію - що таке "не X, а формат запису Y в X".
ці задачі точніше було б формулювати- написати в ОДНУ інструкцію, а не в ОДИН рядок.
Вам ніхто не забороняє створити власну гілку із власними правилами.
ping написав:не один рядок а формат запису n інструкцій в один рядок.
Не розумію - що таке "не X, а формат запису Y в X".
на мою думку із застосуванням " ; " сенс подібних задач втрачається , оскільки:
x=1;y=3;...;statement_N
тотожний до
x=1
y=3
...
statement_N
А на мою думку, сенс подібних задач втрачається, коли використовується 100500 знаків в одній інструкції, щоб уникнути двох інструкцій.
Втім, дійсно, краще детальніше визначити правила, щоб уникнути суперечок. Поки що я б подав їх так:
Відповідь має складатися з функції, що приймає параметрами вхідні дані у найбільш очевидній формі, що відповідає умові (числа - int чи float, стрічки - string, масиви - list і т.д.), і другим рядком повертає значення, яке треба вивести в умові. Другий рядок має, за можливості, вміщатися у 80 символів із початковими відступами.
Це вже одна стрічка. Вам потрібно зробити в 1 рядок, наскільки я зрозумів.
Давно сюди не писав.
Завдання зробив, але не проходить обмеження, може, хтось підкаже, що ще можна порізати.
Умова: знайти добуток цифр числа; якщо одна з цифр дорівнює 0, то весь попередній добуток замінюється на 1 (наприклад, 23046 дає 24, бо 2*3*0=0=>1). Додаткове обмеження: вкластися в 50 символів коду, включно з назвою функції digprod.
Прибрати if else не виходить, бо треба зупиняти рекурсію.
Для відправлення відповіді ви повинні увійти або зареєструватися