Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Помогите с программой на Python (http://www.tehnari.ru/f41/t76316/)

ArtemAce 20.07.2012 02:59

Помогите с программой на Python
 
Ребят помогите пожалуйста!Нам на практике дали задание:написать программу которая на входе получает произвольную таблицу переходов автомата,а на выходе его упрощенную формулу и схему!Все надо написать на питоне!У нас осталось 3 дня!Мы с ребятами вообще не можем понять как это писать!(((Пытались поспрашивать на других форумах-там тишина!Препод сказал что менять тему уже нельзя!Последняя надежда на вас!Кто чем может,хотя бы часть этой программы,дальше додумать постараемся!Повторюсь программа нужна на ПИТОНЕ!!!!Заранее спасибо!!!Будем очень благодарны!!!

Gruvi 20.07.2012 04:48

Вот вам теория автоматов
и вот еще , а вот вам описание алгоритмов управления почитайте хоть что нибудь поймёте , т.к. переход автомата осуществляется в двоичном коде допустим 1 - 00, 2 - 01, 3 - 10, 4 - 11. все это делайте в виде двумерного массива ( матрицей )
Вот посмотри целый сайт посвящённый цифровым автоматам в программировании

ArtemAce 20.07.2012 14:39

Спасибо большое!))Будем штудировать!Есть еще вопросик все по той же теме!Нам надо чтоб у нас изначально была таблица в которую вбиваются значения с клавиатуры!Вот код который мы уже написали,но как сделать так чтобы можно было вбить значения мы безпонятия!Помогите плиизз)


#!/usr/bin/env python
# coding: utf-8
import pygtk
pygtk.require('2.0')
import gtk

class MyTable:
def __init__(self):
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.set_title(u"Таблица переходов автомата")
self.window.connect("destroy", lambda w: gtk.main_quit())

# хранит данные в виде списка.
self.list_store = gtk.ListStore(str, str, str)
self.list_store.append([u'X1', u'', u''])
self.list_store.append([u'X2', u'', u''])
self.list_store.append([u'X3', u'', u''])
self.list_store.append([u'X4', u'', u''])

#def set_value(iter, column, value):
#self.set_value(iter,Q1)

# отображает данные, хранящиеся в list_store
self.tree_view = gtk.TreeView(model=self.list_store)

# добавляем колонки в tree_view
self.add_column(self.tree_view, u'Q/X', 0)
self.add_column(self.tree_view, u'Q1', 1)
self.add_column(self.tree_view, u'Q2' , 2)
self.add_column(self.tree_view, u'Q3', 1)
self.add_column(self.tree_view, u'Q4', 1)

self.window.add(self.tree_view)
self.window.show_all()

def add_column(self, treeview, title, columnId, sortable=True):
column = gtk.TreeViewColumn(title, gtk.CellRendererText(), text=columnId )
column.set_resizable(True)
column.set_sort_column_id(columnId)
treeview.append_column(column)

if __name__ == "__main__":
mytable = MyTable()
gtk.main()

Gruvi 20.07.2012 17:12

на делфи и С++ когда компонент матрица накидываешь на форму, там можно в настройках формы вбить ввод в ручную.

ArtemAce 20.07.2012 17:49

К сожалению мне надо именно на Питоне!Либо с этим кодом связанное либо новый пример какой то!(((

Gruvi 21.07.2012 13:24

Функция ввода информации с клавиатуры.

Речь пойдёт о функции raw_input(). Синтаксис такой же как у оператора print().
Изначально raw_input() присваивают какой либо переменной, а затем в скобках пишется текст, который выводится на экран перед вводом.

пр. a=raw_input('Введите число') - программа выводит на экран текст "Введите число" и ожидает ввода с клавиатуры. Затем, когда число будет введено, оно присвоется переменной a.


функция input() может принимать необязательный аргумент-приглашение строкового типа; при выполнении функции сообщение будет появляться на экране и информировать человека о запрашиваемых данных.

>>> input("Введите номер карты: ")
Введите номер карты: 98765
'98765'
>>> input('Input your name: ')
Input your name: Sasha
'Sasha'
>>>

Из примеров видно, что данные возвращаются в виде строки, даже если было введено число. В более ранних версиях Python были две встроенные функции, позволяющие получать данные с клавиатуры: raw_input(), возвращающая в программу строку и input(), возвращающая число. Начиная с версии Python 3.0, если требуется получить число, то результат выполнения функции input() изменяют с помощью функций int() или float().

>>> input('Введите число: ')
Введите число: 10
'10'
>>> int(input('Введите число: '))
Введите число: 10
10
>>> float(input('Введите число: '))
Введите число: 10
10.0
>>>

Результат, возвращаемый функцией input(), обычно присваивают переменной для дальнейшего использования в программе.

>>> userName = input('What is your name? ')
What is your name? Masha
>>> exp = input('3*34 = ')
3*34 = 102
>>> exp = int(exp) + 21
>>> userName
'Masha'
>>> exp
123
>>>

ArtemAce 21.07.2012 15:13

Большое спасибо!)Будем пробовать!!!


Часовой пояс GMT +4, время: 21:19.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.