Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.08.2021, 15:46   #1
Prototipe
Пользователь
 
Регистрация: 12.08.2021
Сообщений: 13
Восклицание Программа со звездочками в Python

Здравствуйте. Сейчас изучаю Python. Новичок в этом деле. Занимаюсь по книге Саммерфилда. Делаю образцовую программу со звездочками. До этого получилось написать несколько текстовых программ. В общем программу написал, а вот при выводе в cmd он выдает ошибку индекса: usage: New.py <number>. Не понимаю, что ему не нравится. И почему то только при вводе аргумента 0123 он выдаёт 1475! Уже несколько часов не могу понять. Как решить эту проблему?

Код:
import sys

One = ["  *  ",
       " **  ",
       "  *  ",
       "  *  ",
       " *** "]
Four = ["   * ",
        "  ** ",
        " * * ",
        " *** ",
        "   * "]
Sieben = ["**** ",
          "   * ",
          "  *  ",
          "  *  ",
          "  *  "]
Funf = [" ****",
        " *   ",
        " *** ",
        "    *",
        " *** "]

Digits = [One, Four, Sieben, Funf]

try:
    digits = sys.argv[1]
    row = 0
    while row < 5:
        line = " "
        column = 0
        while column < len(digits):
            number = int(digits[column])
            digit = Digits[number]
            line += digit[row] + " "
            column += 1

        print(line)
        row += 1
except ValueError as err:
    print(err, "in", digits)
except IndexError:
    print("usage: New.py <number>")
Изображения
Тип файла: jpg 7tLKeFwIWN4.jpg (81.9 Кб, 5 просмотров)
Тип файла: jpg JD0i5XKEyU8.jpg (44.4 Кб, 9 просмотров)

Последний раз редактировалось Prototipe; 12.08.2021 в 17:23.
Prototipe вне форума Ответить с цитированием
Старый 12.08.2021, 16:45   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,546
По умолчанию

Вот давать исходники в .jpg - это не дурной тон, а вообще <censored> Какой дурак будет читать эту бледнокопийную фигню?
Скопируй текст исходника и вставляй в сообщение с тегом CODE.

Последний раз редактировалось digitalis; 12.08.2021 в 17:06.
digitalis вне форума Ответить с цитированием
Старый 12.08.2021, 17:14   #3
Prototipe
Пользователь
 
Регистрация: 12.08.2021
Сообщений: 13
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
Вот давать исходники в .jpg - это не дурной тон, а вообще <censored> Какой дурак будет читать эту бледнокопийную фигню?
Скопируй текст исходника и вставляй в сообщение с тегом CODE.
digitalis, ранее я не занимался этим и скинул по старинке скрин. Можно было бы и понять. А так исправил. Теперь знаю.
Prototipe вне форума Ответить с цитированием
Старый 12.08.2021, 17:24   #4
ForenLi
Форумчанин
 
Регистрация: 02.06.2021
Сообщений: 515
По умолчанию

Цитата:
Сообщение от Prototipe Посмотреть сообщение
Не понимаю, что ему не нравится.
Код:
Digits = [One, Four, Sieben, Funf]
Нету элементов с индексами 4, 5, 6, ...
ForenLi вне форума Ответить с цитированием
Старый 12.08.2021, 17:32   #5
Prototipe
Пользователь
 
Регистрация: 12.08.2021
Сообщений: 13
По умолчанию

ForenLi, то есть надо в начале ввести семь значений в виде звездочек от 0 до 7?
Prototipe вне форума Ответить с цитированием
Старый 12.08.2021, 17:34   #6
ForenLi
Форумчанин
 
Регистрация: 02.06.2021
Сообщений: 515
По умолчанию

Вы условие задачи не огласили. Может надо и остальные цифры набить, может надо исходный ввод преобразовать, может...
ForenLi вне форума Ответить с цитированием
Старый 12.08.2021, 17:54   #7
Prototipe
Пользователь
 
Регистрация: 12.08.2021
Сообщений: 13
По умолчанию

ForenLi, это задача на вывод аргумента в виде большого числа в форме звездочек) Вы правы! Я короче не учел, что счет индексов начинается с 0 и следовательно нужно пронумеровать в работе элементы до 7 индекса. Теперь всё получилось. В общем проблема решена! Ошибка в сообразительности была видимо.
Prototipe вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как замазать не хорошие слова звездочками Isterebitel Помощь студентам 9 24.07.2018 15:29
Программа на python artem1234567 Помощь студентам 5 13.06.2018 02:41
Вывести фигуру звездочками andrey1307 Общие вопросы C/C++ 3 16.01.2013 18:33
как скрывать пароли звездочками Lifefine Помощь студентам 8 18.02.2010 13:52