2016-10-18 8 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' is' 'radiators" ', он выводит' Found radiators'' Этот продукт 0,50' 'Этот продукт стоит холодильник. – 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

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

  • Нет связанных вопросов^_^