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

Задача по программированию

22.05.2020, 23:21. Показов 4271. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1) Понятие ФУНКЦИЯ еще не введено, поэтому использовать только циклы, операторы, и переменные.
2) Входной параметр сделать вводимым с клавиатуры.
3) Использовать стиль PEP-8.
Миниатюры
Задача по программированию  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.05.2020, 23:21
Ответы с готовыми решениями:

Задача по программированию
Дано натуральное N. Вычислить: Р = 1/2*4/3*9/4*... n^2/n+1 Решить в Python с помощью циклов.

Шахматная доска - 2, задача по программированию
Мой код r = open('input.txt', 'r') w = open('output.txt', 'w') input_val = r.readline().split(' ') m = int(input_val) n =...

Олимпиадная задача по программированию. PascalABC.NET. Задача L. Переключение между окнами
Когда пользователь работает в операционной системе Winux, у него часто запущено несколько приложений. Каждое из приложений работает в...

20
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
23.05.2020, 00:00
CiProger, Почему от 0 до 9, а не от 1 до 9? Ведь у нас в фигуре нулей нет. Или нарисуйте какая фигура будет при параметре 0. Или имеется ввиду, что при параметре 0 ничего выводится не будет?
0
 Аватар для Miryz
291 / 131 / 58
Регистрация: 24.11.2019
Сообщений: 532
23.05.2020, 00:01
CiProger, есть код?
0
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
23.05.2020, 08:01
Лучший ответ Сообщение было отмечено CiProger как решение

Решение

Python
1
2
3
4
5
6
s = '123456789'
n = 9
for i in range(n):
    print((n+1)*' ' + s[i::-1])
for i in range(n):
    print(s[:n-i].rjust(n))
1
 Аватар для CiProger
2 / 2 / 0
Регистрация: 19.02.2019
Сообщений: 32
23.05.2020, 10:42  [ТС]
Нужны еще варианты.
Каждому правильному, эффективному коду ставлю "Спасибо +1"
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
23.05.2020, 12:23
Цитата Сообщение от CiProger Посмотреть сообщение
Нужны еще варианты.
Мы не видим Вашего варианта.

Добавлено через 2 минуты
И Вы не ответили насчет нуля. Что делать если вводится "0"?
0
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
23.05.2020, 12:25
CiProger, могу в одну строку написать код. думаю преподаватель будет рад

Добавлено через 51 секунду
Цитата Сообщение от Viktorrus Посмотреть сообщение
Что делать если вводится "0"
по логике будет "пусто"
0
 Аватар для CiProger
2 / 2 / 0
Регистрация: 19.02.2019
Сообщений: 32
23.05.2020, 12:26  [ТС]
Мой вариант:
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
28
29
30
31
32
33
34
35
36
37
38
39
40
n = int(input('Введите размер лесенки. Не больше 9 \n'))
var_1 = range(1, n + 1)
str_1 = "" 
str_2 = "" #
str_3 = "" 
str_4 = ""
n_ = n
for i in var_1:
    str_1 += " " * n_
    str_2 += str(i)
    k = i - 1 
    while k >= 0:
        str_4 += str_2[k]
        k -= 1
    str_3 = str_1 + str_4
    print(str_3)
    str_3 = ""
    str_4 = ""
    str_1 = ""
k = 0
n_= 0
it_end = n
it = 0
while k < n:
    if n_ == 0:
        print(str_2)
        n_ += 1
    else:
        str_1 += " " * n_
        while it < it_end:
            str_3 += str_2[it]
            it += 1
        str_1 += str_3
        print(str_1)
        str_3 = ""
        str_1 = ""
        n_ += 1
    it_end -= 1
    it = 0
    k += 1
0
 Аватар для CiProger
2 / 2 / 0
Регистрация: 19.02.2019
Сообщений: 32
23.05.2020, 12:27  [ТС]
rjust метод устарел в python 3.0, следовательно вы из старого поколения
0
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
23.05.2020, 12:40
Цитата Сообщение от CiProger Посмотреть сообщение
rjust метод устарел в python 3.0
Ну тогда сорри. Там заменить 3 секунды.
Цитата Сообщение от CiProger Посмотреть сообщение
следовательно вы из старого поколения
А новое поколение пишет 40 строк непонятного кода, где задача решается в 2-3 строки?
0
 Аватар для CiProger
2 / 2 / 0
Регистрация: 19.02.2019
Сообщений: 32
23.05.2020, 12:45  [ТС]
Это авторский спагетти-год
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
23.05.2020, 13:11
Лучший ответ Сообщение было отмечено CiProger как решение

Решение

CiProger, Если хотите, то вот более сложный вариант, но демонстрирует f-string форматирование, которое не использует rjust. Но версия питона должна быть не ниже 3.6 для использования f-string форматирования.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
n = int(input('Введите число от 0 до 9: '))
if n > 0 and n <= 9:
    s = ''
    for i in range(1, n+1):
        s = str(i) + s 
        print(f"{int(s):={10+i}}")
 
    st = s[::-1] + '0'
    for j in range(1, n+1):
        st = st[:-1]
        print(f"{int(st):={n}}")
elif n == 0:
    pass
else:
    print('Введено число не из диапазона от 0 до 9')
Но проверку на то, что введено не число, сделайте сами, используя исключения.
1
 Аватар для CiProger
2 / 2 / 0
Регистрация: 19.02.2019
Сообщений: 32
23.05.2020, 13:25  [ТС]
Viktorrus, благодарю.
В чем разница между функцией и методом в Python?
0
 Аватар для Miryz
291 / 131 / 58
Регистрация: 24.11.2019
Сообщений: 532
23.05.2020, 13:30
CiProger, метод это член класса, экземпляр класса - первый параметр метода.
0
 Аватар для Вадим Тукаев
310 / 291 / 116
Регистрация: 23.01.2018
Сообщений: 933
23.05.2020, 13:52
Python
1
2
3
4
5
6
n = int(input())
for i in range(n * 2):
    for j in range(n * 2):
        k = n - abs(i - j)
        print(' ' if k < 0 or (i < n) == (j < n) else k + 1, end="")
    print()
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38171 / 21106 / 4307
Регистрация: 12.02.2012
Сообщений: 34,697
Записей в блоге: 14
23.05.2020, 14:26
Цитата Сообщение от CiProger Посмотреть сообщение
В чем разница между функцией и методом в Python?
- в том же, в чем и в других языках. Метод получает дополнительный параметр. Но в Питоне он задается явно - self
0
 Аватар для CiProger
2 / 2 / 0
Регистрация: 19.02.2019
Сообщений: 32
23.05.2020, 14:59  [ТС]
Любой метод - функция, но не каждая функция - метод

Всем спасибо за помощь.
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
23.05.2020, 16:51
Цитата Сообщение от CiProger Посмотреть сообщение
Любой метод - функция
Не совсем так. Любая функция, кроме lambda, при вызове имеет синтаксис:

name_func(argument1, argument2,... argumentN).

Или в случае, если она вызывается из пространства имен импортированного модуля

name_module.name_func(argument1, argument2,... argumentN).

А метод при вызове имеет синтаксис:

name_object.name_func(argument1, argument2,... argumentN),

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

В общем основное отличие функции, что она не привязана к классу. А метод всегда привязан к конкретному классу.

Добавлено через 11 минут
Цитата Сообщение от Catstail Посмотреть сообщение
Метод получает дополнительный параметр. Но в Питоне он задается явно - self
Насколько я помню статические методы отличаются тем, что они не содержать аргумента self. И отличаются от функций только тем, что находятся в пространстве имен класса и именно поэтому называются статическими методами, а не функциями.
Уже подзабыл, но по моему именно эти методы являются методами класса, так как экземпляры класса их не видят (из-за отсутствия в них аргумента self.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
23.05.2020, 16:59
Цитата Сообщение от CiProger Посмотреть сообщение
rjust метод устарел в python 3.0
Кто тебе такую глупость сказал?
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
23.05.2020, 17:14
CiProger, Когда изучите ООП поймете разницу между функцией и методом.
На самом деле str(), это не функция, а класс. В стандартной документации она описана так:
class str(object='')
class str(object=b'', encoding='utf-8', errors='strict')

Return a string version of object. If object is not provided, returns the empty string. Otherwise, the behavior of str() depends on whether encoding or errors is given, as follows.

Поэтому любая строка, полученная в питоне тем или иным способом, является экземпляром класса str. И к ней применим любой из методов класса str.
Синтаксис:

строка.метод

Список методов строк, которые определены для экземпляров класса str :

Таблица 7.3. Строковые методы 
Кликните здесь для просмотра всего текста
str.capitalize() - Возвращает копию строки, делая первую букву заглавной
str.casefold() - Возвращает копию строки в сложенном регистре.
str.center() - Позиционирует по центру указанную строку, дополняя её справа и слева до указанной длины указанным символом.
str.count() - Для строки возвращает количество непересекающихся вхождений в неё указанной подстроки.
str.encode() - Кодирует строку в байты/байтстроку, используя зарегистрированный кодек.
str.endswith() - Возвращает флаг, указывающий на то, заканчивается ли строка указанным постфиксом.
str.expandtabs() - Возвращает копию строки, в которой символы табуляций заменены пробелами.
str.find() - Выполняет поиск подстроки в строке (он возвращает смещение переданной ему подстроки или -1, если поиск не увенчался успехом).
str.format() - Возвращает копию строки, отформатированную указанным образом.
str.index() - Возвращает наименьший индекс, по которому обнаруживается начало указанной подстроки в исходной.
str.isalnum() - Возвращает флаг, указывающий на то, содержит ли строка только цифры и/или буквы.
str.isalpha() - Возвращает флаг, указывающий на то, содержит ли строка только буквы.
str.isdecimal() - Возвращает флаг, указывающий на то, содержит ли строка число в десятичной системе исчисления.
str.isdigit() - Возвращает флаг, указывающий на то, содержит ли строка только цифры.
str.isidentifier() - Возвращает флаг, указывающий на то, является ли строка идентификатором.
str.islower() - Возвращает флаг, указывающий на то, содержит ли строка символы только нижнего регистра.
str.isnumeric() - Возвращает флаг, указывающий на то, содержит ли строка только числа.
str.isprintable() - Возвращает флаг, указывающий на то, все ли символы строки являются печатаемыми.
str.isspace() - Возвращает флаг, указывающий на то, содержит ли строка только пробельные символы.
str.istitle() - Возвращает флаг, указывающий на то, начинается ли каждое из «слов» строки с заглавной буквы.
str.isupper() - Возвращает флаг, указывающий на то, содержит ли строка символы только верхнего регистра.
str.join() - Возвращает строку, собранную из элементов указанного объекта, поддерживающего итерирование.
str.ljust() - Строковый метод ljust, выравнивающий строку по левому.
str.lower() - Возвращает копию исходной строки с символами приведёнными к нижнему регистру.
str.lstrip() - Возвращает копию указанной строки, с начала (слева l — left) которой устранены указанные символы.
str.maketrans() - Создает словарь, в котором ключи - это заменяемые символы, а значения - заменяющие символы, и ключи и значения в Unicode.
str.partition() - Разбивает строку на три составляющие (начало, разделитель, конец) и возвращает в виде кортежа. Направление разбиения: слева направо.
str.replace() - Возвращает копию строки, в которой заменены все вхождения указанной строки указанным значением.
str.rfind() - Возвращает самый высокий индекс в строке, где находится подстрока
str.rindex() - Возвращает наибольший индекс, по которому обнаруживается конец указанной подстроки в исходной.
str.rjust() - Позиционирует вправо указанную строку, дополняя её слева до указанной длины указанным символом.
str.rpartition() - Разбивает строку на три составляющие (начало, разделитель, конец) и возвращает в виде кортежа. Направление разбиения: справа налево.
str.rsplit() - Разбивает строку на части, используя разделитель, и возвращает эти части списком. Направление разбиения: справа налево.
str.rstrip() - Возвращает копию указанной строки, с конца которой устранены указанные символы.
str.split() - Разбивает строку на части, используя разделитель, и возвращает эти части списком. Направление разбиения: справа налево.
str.splitlines() - Разбивает строку на множество строк, возвращая их списком.
str.startswith() - Возвращает флаг, указывающий на то, начинается ли строка с указанного префикса.
str.strip() - Возвращает копию указанной строки, с обоих концов которой устранены указанные символы.
str.swapcase() - Возвращает копию строки с прописными символами, преобразованными в нижний регистр и наоборот, из нижнего в прописные.
str.title() - Возвращает копию строки, в которой каждое новое слово начинается с заглавной буквы и продолжается строчными.
str.translate() - Заменяет символы в строке в соответствии со словарем, полученным в методе str.maketrans()
str.upper() - Возвращает копию исходной строки с символами приведёнными к верхнему регистру.
str.zfill() - Дополняет указанную строку нулями слева до указанной минимальной длины.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.05.2020, 17:14
Помогаю со студенческими работами здесь

Задача по программированию
Дана целочисленная прямоугольная матрица. Определить: 1)Количество столбцов, содержащих хотя бы один нулевой элемент 2)номер строки, в...

задача по программированию С++
Помогите пожалуйста написать задачу на C++ по фото . Задача B2

задача по программированию
Нужно решить задачу используя консольное приложение Win32 в VisualStudio. Условие: Дано действительные числа x, y. Получить z=f(cos(x),...

Задача по программированию
Составить программу упорядочения элементов по убыванию во втором столбце матрицы A(N,N).

Задача по программированию
Спортсмен ежедневно во время тренировки пробегал расстояние на 10% больше, чем в предыдущий день. Через сколько дней он превысит расстояние...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru