Vinnaren i pepparkakshustävlingen!
2010-11-22, 13:24
  #1
Medlem
LeBlancs avatar
Hej,
Jag är en nybörjare på python men ska göra ett lättare program. Det är nästan klart men har hackat upp mig på en sak.
Jag vill kunna läsa in en rad från en fil, och om sedan användaren vill (exempelvis trycker 1) så ska nästa rad visas. Jag har försökt men får bara fram samma rad om och om igen!

def hejhej(self):
print ('Hej')
text = open('dok.txt', 'r')
print(text.readline())
#text.close()
svar = raw_input('Vill du se nästa? Tryck 1.')
for line in text:
if svar == 1:
print(line)
text.close()

Det skulle vara mycket snällt om någon kunde hjälpa mig!
Citera
2010-11-22, 13:33
  #2
Medlem
hmkns avatar
Citat:
Ursprungligen postat av LeBlanc
Det skulle vara mycket snällt om någon kunde hjälpa mig!
Kod:
def hejhej(self):
              text = open('dok.txt', 'r')
              lines = text.readlines()
              text.close()
              line_count = 1
              print(lines[0])
              while 1:
                            svar = raw_input('Vill du se nästa? Tryck 1.')
                            if svar == 1:
                                           print(lines[count])
                                           count += 1
                            elif svar == 2:
                                           break
Citera
2010-11-22, 13:43
  #3
Medlem
LeBlancs avatar
Tack, nu visas dock endast:

Första raden ur filen och efter att ha tryckt 1 :

Vill du se nästa? Tryck 1.1
Vill du se nästa? Tryck 1.1
Vill du se nästa? Tryck 1.1
Vill du se nästa? Tryck 1.1
Vill du se nästa? Tryck 1.
Citera
2010-11-22, 13:52
  #4
Medlem
hmkns avatar
Kod:
def hejhej(self):
              text = open('dok.txt', 'r')
              lines = text.readlines()
              text.close()
              line_count = 1
              print(lines[0])
              while 1:
                            svar = input('Vill du se nästa? Tryck 1.')
                            if svar == 1:
                                           print(lines[line_count])
                                           line_count += 1
                            elif svar == 2:
                                           break
Citera
2010-11-22, 13:58
  #5
Medlem
LeBlancs avatar
TACK för hjälpen!!
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback