2016-02-25 3 views
1

им нового на этот сайт, и я знаю, что многие люди не очень счастливы, когда кто-то задает вопрос, который был задан ранее. Тем не менее, я хочу спросить, несмотря на то, что это было задано ранее, потому что все ответы, которые я нашел, не имели для меня большого смысла (им новые для python!), Поэтому мне было интересно, может ли кто-нибудь его опустить или прямо исправить мой код.Чтение следующей строки файла

Я пишу код, в который пользователь вводит код GTIN-8, и он ищет файл excel csv для этого кода, затем читает соответствующую информацию о продукте (цена и т.д.) и распечатывает его. Однако по какой-то причине я не могу найти вторую строку файла. Вот мой код:

#csv is imported to read/write to the file 
import csv 

#Each Product is printed alongside it's GTIN-8 code and Price 
print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~") 
print("~ Welcome to Toms bits and bobs ~") 
print("Pencil,   12346554, £0.40") 
print("50 Staples,  12346882, £1.00") 
print("50 Paper Clips, 12346875, £1.20") 
print("Large Eraser, 12346844, £1.50") 
print("100 A4 Sheets, 12346868, £2.00") 
print("100 A3 Sheets, 12346837, £2.50") 
print("25 Byro Pens, 12346820, £2.20") 
print("Handwriting Pen, 12346899, £5.50") 
print("50 Split Pins, 12346813, £0.60") 
print("Office Chair, 12346912, £25.00") 
print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~") 

#The file is opened and the user inputs the code for the product they 
#wish to find. 
file = open("Product_list.csv", "r") 
purchase = input(print("Please enter the GTIN-8 code of the product you wish to purchase e.g 12346554")) 
line = file.readline() 
data = line.split(",") 

if data[0] == purchase: 
    while(line): 
     print ("Product: ", data[1]) 
     print ("GTIN-8 code: ", data[0]) 
     print ("Stock: ", data[2]) 
     print ("Description: ", data[3]) 
     print ("Price: ", data[4]) 
     line = file.readline() 
     break 

else: 
    print("Product not found") 


file.close()` 

ответ

1

Вы читаете вторую строчку, но из-за break, вы никогда не получите шанс использовать его, так как ваш код всегда прорывается из цикла While, если он входит туда. Просто удалите его, и ваш код будет работать нормально.

Кроме того, если ваш синтаксис верен в этой строке.

purchase = input(print("Please enter the GTIN-8 code of the product you wish to purchase e.g 12346554")) 
       ^^^^^This will cause a syntax error. You should remove this print as well 
+1

В ответ на Lafexlos - Спасибо за ответ, но путем удаления перерыва он не изменился сусло, понял это сейчас, хотя от этого, Thnx за советы;) –

+0

После того, как у меня есть 15 репутации я буду дайте вам стрелку вверх :) –

+0

@CoderColin lol. Благодарю. :) Кстати, каково было решение, если это не тот? Я могу редактировать в нужном месте, если хотите. и извините, я только что увидел ваш первый комментарий. – Lafexlos

Смежные вопросы