Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
4 / 4 / 0
Регистрация: 20.12.2020
Сообщений: 32

Можно ли записать данный код в одну строку

31.03.2023, 09:48. Показов 794. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Python
1
2
3
4
5
6
7
8
from itertools import product
 
for i in product('12',repeat=5):
  a=4
  for j in i:
    if j=='1':a-=1
    else:a*=3
  if a==25:print(i)
а точнее, в две строки?

У исполнителя Утроитель две команды, которым присвоены номера:
1. вычти 1
2.  умножь на 3
Первая из них уменьшает число на экране на 1, вторая увеличивает его в 3 раза. Исполнитель работает только с натуральными числами. Составьте алгоритм получения из чиcла 4 числа 25, содержащий не более 5 команд. В ответе запишите только номера команд.
Если таких алгоритмов более одного, то запишите любой из них.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.03.2023, 09:48
Ответы с готовыми решениями:

Возможно ли укоротить данный код и записать в одну строку. И вообще как научиться укорачивать код)
lst = list() for i in range(2): lst.append(int(input())) print(max(lst))

Можно ли записать в одну строку
Доброго времени суток, дело такое: у меня есть некий текст, я разбил его на предложения, и проблема в том, что есть предложения, которые...

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

8
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
31.03.2023, 10:41
Цитата Сообщение от patnik Посмотреть сообщение
а точнее, в две строки?
Можно всё. Вопрос зачем?
1
74 / 53 / 24
Регистрация: 10.06.2015
Сообщений: 162
31.03.2023, 20:54
Python
1
2
result = [i for i in product('12', repeat=5) if list(i).count('1') == 1 and eval('4*' + '*3'.join([j for j in i if j != '1'])) == 25]
print(result)
1
4 / 4 / 0
Регистрация: 20.12.2020
Сообщений: 32
01.04.2023, 03:19  [ТС]
к сожалению, не выдает правильный ответ...
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
01.04.2023, 08:06
patnik, ответь
Цитата Сообщение от Red white socks Посмотреть сообщение
Вопрос зачем?
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
01.04.2023, 09:38
Цитата Сообщение от iSmokeJC Посмотреть сообщение
patnik, ответь
В яндекс лицее (?) требуют.

А обучающиеся даже не могут правильно скопировать ответ в форму ввода.

Спойлер, ответ такой:
Code
1
[i for i in product('12', repeat=5) if list(i).count('1') == 1 and eval('4*' + '*3'.join([j for j in i if j != '1'])) == 25]
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
01.04.2023, 09:41
Рыжий Лис, чето сомнительно, что где-то использование eval будет в принципе приветствоваться.
Да и про однострочник какое-то идиотское требование
1
88 / 32 / 14
Регистрация: 25.03.2023
Сообщений: 69
01.04.2023, 11:12
Лучший ответ Сообщение было отмечено patnik как решение

Решение

patnik, что бы написать в 2 строки, нужно понимать и разобраться в задание - в вашем случае в коде, что нужно получить. После анализа можно получить вот такого плана код:

Python
1
2
from itertools import product
print([i for i in product('12', repeat=5) if 25 == (lambda a: [a:= a-1 if j=='1' else a*3 for j in i][-1])(4)])
1
4 / 4 / 0
Регистрация: 20.12.2020
Сообщений: 32
01.04.2023, 15:00  [ТС]
Pascal
1
## '12'.Cartesian(5).Where(x->x.Aggregate(4,(a,x)->x.todigit=1?a-1:a*3)=25).Print
перехожу на python после pascalabc.net, пока что проблемы с краткостью кода, спасибо всем за участие, тему можно считать закрытой
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.04.2023, 15:00
Помогаю со студенческими работами здесь

Можно ли как то код сделать в одну строку?
if (checkBox6.Checked == true) { Thread.Sleep(22); Opacity = 0.98d; ...

Как записать строку с кавычками в одну строку?
string s = "lol "123" "; ругается и говорит то что после lol должно быть ); как это всё записать в одну строку ? Добавлено через 16...

Как можно максимально оптимизировать данный код через логическое индексирование? Код полностью работает
header = data = , , , , , , , , , , , , ] import numpy as np def salary_info_purchased(data, gender=None, purchased=None): ...

Как записать на ассемблере данный код
Здравствуйте, как записать на ассемлере данный код: int a; cin>>a; string b; if (a <= 12 && a >= 6) ...

Как еще короче записать данный код?
#include <ios> main() { system("for /f \"tokens=1,2,3\" %a in (input.txt) do set /a %a*%b*%c*2 >output.txt"); } подсказка...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru