Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/88: Рейтинг темы: голосов - 88, средняя оценка - 4.80
38 / 39 / 7
Регистрация: 13.11.2020
Сообщений: 678

Таблица квадратов

14.01.2021, 10:54. Показов 17354. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Напишите функцию squared(a, b, k), которая выводит на экран таблицу квадратов для чисел от a до b, при этом не нужно выводить квадраты чисел кратных k. Если такое число встречается, его нужно пропустить, вывод переходит к следующему числу.
Строки формируются так. Берем исходное число и возводим в квадрат все числа, от него и до числа, в котором последняя цифра на 1 меньше, чем в исходном. Затем переходим на следующую строку. В ней нужно будет возводить в квадрат число, в котором десятков на 1 больше, чем в исходном, а единиц столько же. Например, если надо начать с 14, то заканчиваем строку на 23, возведенным в квадрат. А следующая строка начнется с квадрата числа 24. Если, конечно, квадраты этих чисел не кратны k.
Для каждого числа при выводе отводится 4 символа и один символ пробела разделяет столбцы.

Пример 1
Ввод

squared(11, 99, 10)
Вывод
121 144 169 196 225 256 289 324 361
441 484 529 576 625 676 729 784 841
961 1024 1089 1156 1225 1296 1369 1444 1521
1681 1764 1849 1936 2025 2116 2209 2304 2401
2601 2704 2809 2916 3025 3136 3249 3364 3481
3721 3844 3969 4096 4225 4356 4489 4624 4761
5041 5184 5329 5476 5625 5776 5929 6084 6241
6561 6724 6889 7056 7225 7396 7569 7744 7921
8281 8464 8649 8836 9025 9216 9409 9604 9801

Пример 2
Ввод

squared(4, 33, 9)
Вывод
16 25 49 64 100 121 169
196 256 289 361 400 484 529
625 676 784 841 961 1024

Примечания
Для выравнивания чисел в строке можно воспользоваться возможностями f-строк для форматирования:

print(f"{x:<4}")

что означает, что для вывода x отводится 4 символа, и если их не хватает, добавляются недостающие пробелы.


Python
1
2
3
4
5
6
7
def squared(start, end, div):
    s = ''
    for k in range(start, end + 1):
        if (k * k % div != 0): 
            s += f'{k*k:<4}'
        s += ' ' if (k + 1) % 10 != start % 10 else '\n'
    print(s)
Ввод
squared(4, 33, 9)
Ожидаемый результат
16 25 49 64 100 121 169
196 256 289 361 400 484 529
625 676 784 841 961 1024

Вывод
16 25 49 64 100 121 169
196 256 289 361 400 484 529
625 676 784 841 961 1024

Сообщение
Line 1 differs: out:

>16 25 49 64 100 121 169<
corr:
>16 25 49 64 100 121 169<

с пробелами фигня какая-то, исправьте пожалуйста
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.01.2021, 10:54
Ответы с готовыми решениями:

Таблица квадратов чисел
Напишите функцию squared(), которая выводит на экран таблицу квадратов для чисел от 11 до 99, при этом не нужно выводить квадраты чисел...

Таблица квадратов
Напишите функцию squared(a, b, k), которая выводит на экран таблицу квадратов для чисел от a до b, при этом не нужно выводить квадраты...

Таблица квадратов
Напишите функцию squared(a, b, k), которая выводит на экран таблицу квадратов для чисел от a до b, при этом не нужно выводить квадраты...

9
38 / 39 / 7
Регистрация: 13.11.2020
Сообщений: 678
14.01.2021, 11:06  [ТС]
пробелы тут сжираются почему-то поэтому чтобы видеть отличие прикреплю скрин
Миниатюры
Таблица квадратов  
0
Заяц, просто Заяц.
 Аватар для Fury67
666 / 280 / 156
Регистрация: 12.11.2017
Сообщений: 882
14.01.2021, 11:38
Python
1
2
3
4
5
6
7
8
9
10
def squared(start, end, div):
    s = ''
    for k in range(start, end + 1):
        if (k * k % div != 0): 
            s += str(k * k) + ' '
        if (k + 1) % 10 == start % 10:
            s += '\n'
    print(s)
 
squared(4, 33, 9)
Вроде норм вывод

Хотя, вот так лучше, ибо не будет в конце пробела. Правда, через костыль, но лень нормально делать
Python
1
2
3
4
5
6
7
8
9
10
11
def squared(start, end, div):
    s = ''
    for k in range(start, end + 1):
        if (k * k % div != 0): 
            s += str(k * k) + ' '
        if (k + 1) % 10 == start % 10:
            s = s[:-1]
            s += '\n'
    print(s)
 
squared(11, 99, 10)
1
38 / 39 / 7
Регистрация: 13.11.2020
Сообщений: 678
14.01.2021, 11:42  [ТС]
Цитата Сообщение от Fury67 Посмотреть сообщение
Хотя, вот так лучше, ибо не будет в конце пробела. Правда, через костыль, но лень нормально делать
оба варианта при первом тесте неверно выводят ответ
0
38 / 39 / 7
Регистрация: 13.11.2020
Сообщений: 678
14.01.2021, 11:42  [ТС]
вот тоже с пробелами ошибка
Миниатюры
Таблица квадратов  
0
38 / 39 / 7
Регистрация: 13.11.2020
Сообщений: 678
14.01.2021, 11:42  [ТС]
Fury67,
0
Заяц, просто Заяц.
 Аватар для Fury67
666 / 280 / 156
Регистрация: 12.11.2017
Сообщений: 882
14.01.2021, 11:59
Ааа, я просто не так понял вывод

Добавлено через 7 секунд
Just a second

Добавлено через 9 минут
А попробуй так отправить
Python
1
2
3
4
5
6
7
8
def squared(start, end, div):
    s = ''
    for k in range(start, end + 1):
        if (k ** 2 % div != 0): 
            s += str(k ** 2) + ' ' * (1 + len(str(end ** 2)) - len(str(k ** 2)))
        if (k + 1) % 10 == start % 10:
            s += '\n'
    print(s)
Добавлено через 3 минуты
А вот так, наверное, еще правильнее будет.
Python
1
2
3
4
5
6
7
8
9
def squared(start, end, div):
    s = ''
    m = end if end ** 2 % div != 0 else end - 1
    for k in range(start, end + 1):
        if (k ** 2 % div != 0): 
            s += str(k ** 2) + ' ' * (1 + len(str(m ** 2)) - len(str(k ** 2)))
        if (k + 1) % 10 == start % 10:
            s += '\n'
    print(s)
Добавлено через 34 секунды
Типа у нас последний элемент может попасть в те, которые не надо выводить, но последний элемент будет из большого порядка, чем все остальные.
1
38 / 39 / 7
Регистрация: 13.11.2020
Сообщений: 678
14.01.2021, 12:01  [ТС]
Fury67, прошло только 6 тестов((
на 7 опять пробелы
ввод таков:
squared(2, 19, 7)
Миниатюры
Таблица квадратов  
0
Заяц, просто Заяц.
 Аватар для Fury67
666 / 280 / 156
Регистрация: 12.11.2017
Сообщений: 882
14.01.2021, 12:08
Лучший ответ Сообщение было отмечено Ychenyi как решение

Решение

Python
1
2
3
4
5
6
7
8
def squared(start, end, div):
    s = ''
    for k in range(start, end + 1):
        if (k ** 2 % div != 0): 
            s += str(k ** 2) + ' ' * (5 - len(str(k ** 2)))
        if (k + 1) % 10 == start % 10:
            s += '\n'
    print(s)
1
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
14.01.2021, 19:29
Fury67, Ychenyi, табуляцию не пробовали выводить?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.01.2021, 19:29
Помогаю со студенческими работами здесь

Таблица квадратов
Имеется два текстбокса. Первый обозначает наименьшее число, а второй наибольшее число, для которого требуется возведение в квадрат. Надо,...

таблица квадратов
Написать программу, которая выводит таблицу квадратов первых пяти целых положительных нечетных чисел. 1 1 3 9 5 25 ...

Таблица квадратов
Вывести таблицу квадратов для n чисел. Пользователь вводит количество и чисел и сами числа через пробел, а программа выводит их в...

Таблица квадратов
Напишите функцию squared(a, b, k), которая выводит на экран таблицу квадратов для чисел от a до b, при этом не нужно выводить квадраты...

Таблица квадратов
пожалуйста помогите написать программу: Написать программу, которая выводит таблицу квадратов первых пяти целых положительных нечетных...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru