2016-10-18 70 views
0

例如,我打開了一個文本文件,發現用戶想要「購買」的產品。該產品上市的一個記事本的文本文件,與產品名稱,然後一個新的生產線,則產品的成本,例如如何在文本文件中聲明一行作爲變量?

radiators 
0.50 
fridge 
0.50 

這是我迄今所做的:

product = input("What product would you like?") 
userfile = open ("products.txt","r") 
    lines = userfile.readlines() 
    for i in range(0, len(lines)): 
     line = lines[i] 
     if product in (line): 
      found = True 
      print("Found " + line) 
      print("This product is " + lines[i+1]) 
      print("This product costs " +lines[i+2]) 

我需要聲明lines[i+2]作爲一個變量,所以我可以把它乘以一個整數。有沒有辦法可以做到這一點?

+1

你不需要把它聲明爲一個變量,你只需要將字符串轉換爲數字即可。 – melpomene

+0

好的,謝謝,但我該怎麼做? –

+1

我不使用Python,但是你的代碼看起來不正確:如果'product'是''radiators「',它會輸出'Found radiators'' This product is 0.50'' This product costs fridge'。 – melpomene

回答

0

嘗試了這一點:(?這是什麼意思連)

產品=輸入(「?你喜歡什麼產品」)

userfile = open ("products.txt","r") 
lines = userfile.readlines() 

for line in lines: 
    line = line.rstrip('\n') 
    if product in line: 
     found = True 
     print("Found " + line) 
     print("This product is " + lines[i+1]) 
     print("This product costs " + int(lines[i+2])) 
+0

謝謝你的回覆,我試着在代碼中使用「int」,就像你建議的那樣幾次,但是這個錯誤總是出現 –

+0

ValueError:無效文字爲int()與基10:' 0.50 \ n' –

+0

@mollyclare這是因爲'0.5'不是一個整數。 – melpomene

相關問題