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

Не могу разобраться в листинге

03.08.2024, 19:18. Показов 648. Ответов 3

Студворк — интернет-сервис помощи студентам
Приветствую друзья!!!
Я нашел в интернете очень интересную книгу, по которой не просто, легко и интересно учиться но и очень увлекательно. Но есть некоторые неточности (на мой взгляд....). И как мне кажется... всему виной перевод данной книги. И я очень прошу мне помочь, потому что я уже неделю сижу за разбором двух листингов, и никак не могу найти ошибку.

Листинг №1

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
# RosettesAndPolygons.py - спираль из многоугольников
# и розеток
import turtle
 
t = turtle.Pen()
turtle.bgcolor('black')
colors = ['red', 'blue', 'green', 'orange']
# Запросить у пользователя количество сторон по умолчанию 4
sides = int(turtle.numinput('Количество сторон',
                            'Сколько сторон у вашей спирали?', 4))
# внешний цикл для многоугольников и розеток, размер от 5 до 75
for m in range(5, 75):
 
    t.left(360/sides+5)
    t.pencolor(colors[m % sides])
    t.width(m//25+1)
    t.penup() # Не рисовать линии спирали
    t.forward(m*4) # ПЕрейти к следующему углу
    t.pendown()
    # Нарисовать небольшую розетку на каждом ЧЕТНОМ углу
    # спирали
    if (m % 2 == 0):
        for m in range(sides):
            t.circle(m/3)
            t.pencolor(colors[m%sides])
            t.right(360/sides)
            # ИЛИ нарисовать небольшой многоугольник
            # на каждом НЕЧЕТНОМ углу
    else:
        for m in range(sides):
            t.forward(m)
            t.right(360/sides)
В данном программе проблема заключается в следующем: 1) Квадрат и круги не увеличиваются с каждой спиралью 2) "Круги" рисуются не не кругами а серпом

RosettesAndPolygons.zip
Листинг 2:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# EncoderDecoderEN - кодирование/декодирование сообщение
# на английском
message = input("Введите сообщение для кодирования или "
                "декодирования: ") # Вывести сообшение
message = message.upper()   # Перевести в ВЕРХНИЙ РЕГИСТР
output = ""                # Создать пустую строку для вывода
for letter in message:      # Пройти циклом по всем буквам в сообщении
    if letter.upper():      # Если буква в Алфавите (A-Z)
        value = ord(letter)+13 # Передвинуть значение буквы 13
        letter = chr(value)     # преобразовать значение обратно в букву
        if not letter.isupper(): # проверить не передвинули ли мы значение слишком далеко
            value -= 26         # Если передвинули то вернуться обратно Z -> A
            letter = chr(value) # вычтя 26 из значение буквы
            output += letter    # добавить букву к строке вывода
            print("выходное сообщение", output) # Закодированное декодированное сообщение
Данной программе, текст шифруется, но обратно не расшифровывается (заранее прошу прощения может я не правильно написал....)

EncoderDecoder.zip
Пожалуйста помогите друзья я очень хочу разобраться. Заранее благодарю ребята
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.08.2024, 19:18
Ответы с готовыми решениями:

Не могу разобраться в листинге из Шилдта(3 издание)
Прога меняет 2 байта из объединения местами. // Use a union to exchange the bytes within a short integer. #include <iostream> ...

Помогите разобраться в готовом листинге...
Вот листинг(из книжки) он разбивает файл на части по 1000 строк...проблема в том что нет коментариев(а очень нужны)....помогите...

Не могу найти ошибку в листинге написанной по книге
Здравствуйте друзья Помогите найти ошибку в листинге написанный по книге "Самоучитель С++" Крупник. #include <iostream> ...

3
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
03.08.2024, 19:53
Один вопрос - одна тема.

Немного подправил второй пример и написал декодер:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#message = input("Введите сообщение для кодирования или "
#                "декодирования: ") # Вывести сообшение
message = 'Trixie is best pony!'
                
message = message.upper()   # Перевести в ВЕРХНИЙ РЕГИСТР
output = ""                # Создать пустую строку для вывода
for letter in message:      # Пройти циклом по всем буквам в сообщении
    if letter.isupper():      # Если буква в Алфавите (A-Z)
        value = ord(letter)+13 # Передвинуть значение буквы 13
        letter = chr(value)     # преобразовать значение обратно в букву
        if not letter.isupper(): # проверить не передвинули ли мы значение слишком далеко
            value -= 26         # Если передвинули то вернуться обратно Z -> A
            letter = chr(value) # вычтя 26 из значение буквы
        output += letter    # добавить букву к строке вывода
print("выходное сообщение", output) # Закодированное декодированное сообщение
 
message2 = ''
for i in output:
    i_int = ord(i) - 13
    if i_int < ord('A'):
        i_int += (ord('Z') - ord('A') + 1)
    message2 += chr(i_int)
print(message2)
3
 Аватар для mikkijon
1 / 1 / 0
Регистрация: 29.08.2014
Сообщений: 282
03.08.2024, 20:15  [ТС]
Огромное спасибо
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
05.08.2024, 08:05


3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.08.2024, 08:05
Помогаю со студенческими работами здесь

Не могу разобраться с загрузкой данных из файлов,и чтоб в дальнейшем с ними мжно было работать как с массивом,не могу разобраться(
void __fastcall TPoisk::Button3Click(TObject *Sender) { Memo2-&gt;Lines-&gt;Clear(); x=StrToInt(Edit3-&gt;Text); for (i=0;i&lt;100;i++) { ...

Задали работу, не могу разобраться. Используется делфи 10, не могу разобраться, как это сделать
В одномерном массиве, состоящем из n вещественных элементов, вычислить: минимальный элемент массива и сумму элементов массива,...

Не могу разобраться разобраться с кодом меню
Добрый день. Я понимаю, что тут все, наверное, элементарно. Но я только начала изучение js и пока для меня все страшно и сложно. Проблема...

Не могу понять задачу, никак не могу разобраться как код написать
Помогите!

Приветствую, не могу разобраться с кодом программы и не могу сделать .obj файл
.model tiny; нужно будет получить исполняемый файл формата СОМ .code org 100h start: mov ax, 3 int 10h ; устанавливаем...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru