Jump to content

Recommended Posts

Posted (edited)

Tens de ser mais especifico. Queres ler essa informação de um ficheiro (a)?, ou queres tu construir essa tabela no próprio programa? E se for a última opção pretendes apenas usar a consola (b1) ou o teu programa vai ter um interface gráfico (b2)?

a1) O sistema de leitura de ficheiros no Python é bastante flexivel. Ao usares as funções nativas podes ler qualquer ficheiro com a função open:

fid = open('exemplo.txt')
lista = fid.readlines()
for i in xrange(len(lista)):
    lista[i] = lista[i].split(' ')
    for j in xrange(len(lista[i])):
         lista[i][j] = int(lista[i][j])
print lista

Para além disso podes por cima disso usar o numpy (o que te facilitaria ainda mais a função).

b1) Se a tabela for de input directo podes usar as funções input e raw_input para receber dados na consola (e dependendo do teu programa ele pode receber directamente a linha ou número a número, etc.).

b2) Qualquer bom motor de interface gráficos dá-te ferramentas para poderes fazer um interface estilo excel ou opencalc. Alguns exemplos dos mais conhecidos estão aqui:

http://wiki.wxpython.org/AnotherTutorial#SpreadSheet (já agora deves procurar por spreadsheet) - wxPython

para o pyQt acho que é o QtableWidget mas não encontrei nenhum exemplo rapidamente.

Edited by thoga31
GeSHi
Posted

Sinceramente não percebi bem, só me diz q o input é o ínicio e o fim que estão na primeira linha, depois o número de users, e depois os users com o tempo inicial e final e depois dá-me que o input será daquele tipo..

Posted (edited)

Para quem ainda não conseguiu entender o que é este input, como eu até há pouco, está aqui o dito exercício do TOPAS'06:

http://www.dcc.fc.up.pt/~apt/aulas/PESTR/0506/Apontamentos/problemset_topas06.pdf

Para cada linha fazes um input, e tens de tratar esse input consoante a linha para teres os dados organizados e poderes tratá-los.

Edited by thoga31

Knowledge is free!

Posted

Vou escrever aquilo que eu fiz no IDLE, só tens de entender o que fiz e adaptar para código, é simples:

>>> linha = "2574 3390"
>>> instante_ataque = linha.split(" ")
>>> print("Instantes:\n- Inicial = {0}\n-   Final = {1}".format(instante_ataque[0], instante_ataque[1]))
Instantes:
- Inicial = 2574
-   Final = 3390
>>> 

A partir daqui o princípio é o mesmo para separar os dados de uma linha de input pelos espaços.

Knowledge is free!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.