Уведомления

Группа в Telegram: @pythonsu

#1 Май 25, 2014 09:07:39

zuzu
Зарегистрирован: 2014-05-24
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

tkinter перевод данных и произведение замеров

Моя задача написать программу, где загружается файл, в котором находятся координаты и по ним tkinter рисует фигуру, а потом выдает общую длинну сторон. Файл загружается, как мне данные перевести в координаты, а надо ли вообще переводить, может можно одной строкой, ведь рисует по одной строке. Второй вопрос как измерить длинну сторон, фигуры же могут быть разные.

Офлайн

#2 Май 25, 2014 11:22:52

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

tkinter перевод данных и произведение замеров

1. Тема должна быть в разделе GUI.
2. Фигура состоит из линий? Там нет окружностей?
3. Исходные данные это координаты начала и конца линии или это координаты узлов фигуры?

P.S. Хочу помочь, но нужна информация.

Офлайн

#3 Май 25, 2014 12:15:21

zuzu
Зарегистрирован: 2014-05-24
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

tkinter перевод данных и произведение замеров

2. Фигура состоит из прямых линий, координаты даются последовательно в файле
3. координаты начала и конца линий, хоть возможно я не понял вопроса, в списко подряд точки, их соеденяя получим узлы и линии.

Если упрошенно смотреть, то если фигу например треугольник, то первая и последняя точки одинаковые, но вот не доходит до меня, как мне координаты переделать (текст в стринг?) и вот с длинной, мне через теорему Пифагора решать?

Офлайн

#4 Май 25, 2014 12:27:49

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

tkinter перевод данных и произведение замеров

zuzu
и вот с длинной, мне через теорему Пифагора решать?

Да. Теорема Пифагора.

Для построения смотрим в сторону.

canvas = Tkinter.Canvas(root, width=..., height=...)
canvas.create_polygon(x0, y0, x1, y1, ..., xn, yn, options)

P.S. Размер для канваса можно высчитать по минимальным и максимальным точкам полигона.

Отредактировано 4kpt_II (Май 25, 2014 12:29:46)

Офлайн

#5 Май 25, 2014 19:55:43

zuzu
Зарегистрирован: 2014-05-24
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

tkinter перевод данных и произведение замеров

что-то у меня импорт не получается, значение файла:
54, 254
204, 104
254, 154
354, 54
454, 154
504, 104
654, 254
54, 254

Офлайн

#6 Май 25, 2014 20:07:07

zuzu
Зарегистрирован: 2014-05-24
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

tkinter перевод данных и произведение замеров

def _open():
op = askopenfilename()
for l in fileinput.input(op):
txt.insert(END,l)
точнее, я не помиаю, как мне значения перевести в координаты
за ним
= canvas.create_line(x0, y0, x1, y1, …, xn, yn, options)

Офлайн

#7 Май 26, 2014 00:23:03

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

tkinter перевод данных и произведение замеров

Это уже другой вопрос. Прикрепляйте файл - посмотрим…

Офлайн

#8 Май 26, 2014 00:35:56

zuzu
Зарегистрирован: 2014-05-24
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

tkinter перевод данных и произведение замеров

я понимаю, что должен превратить в стринг..

Прикреплённый файлы:
attachment ne pashet.py (943 байта)

Офлайн

#9 Май 26, 2014 00:36:19

zuzu
Зарегистрирован: 2014-05-24
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

tkinter перевод данных и произведение замеров

input

Прикреплённый файлы:
attachment ato4ki.txt (75 байт)

Офлайн

#10 Май 26, 2014 02:29:11

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

tkinter перевод данных и произведение замеров

Получить данные из файла:

with open("ato4ki.txt") as file_:
    result = []
    for line in file_:
        for data in line.strip().split(", "):
            result.append(int(data))
    print result

P.S. Можно написать все в двух выражениях, но учитывая, что Вы только начинаете, решил максимально просто расписать.

P.S.S. Будут вопросы - пишите…

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version