Как мне объявить строку в текстовом файле как переменную?

#python #file #lines #readlines

#python #файл #строки #строки чтения

Вопрос:

Например, я открыл текстовый файл и нашел продукт, который пользователь хочет «купить». Продукты перечислены в текстовом файле блокнота, например, название продукта, затем новая строка, затем стоимость продукта

 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. Вам не нужно объявлять ее как переменную (что это вообще значит?), Вам просто нужно преобразовать строку в число.

2. хорошо, спасибо, но как мне это сделать??

3.Я не использую Python, но ваш код все равно выглядит неправильно: Если product есть "radiators" , это будет вывод Found radiators This product is 0.50 This product costs fridge .

4. ох. я немного изменил программу, прежде чем включить ее здесь — реальная программа так не работает???? я вроде как использовал пример

Ответ №1:

Попробуйте это :

product = input(«Какой продукт вы бы хотели?»)

 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]))
  

Комментарии:

1. спасибо за ответ, я несколько раз пытался использовать «int» в коде, как вы предлагали, но всегда появляется эта ошибка

2. Ошибка значения: недопустимый литерал для int() с основанием 10: ‘0.50 n’

3. @mollyclare Это потому 0.5 , что не является целым числом.

4. ах, хорошо, может быть, я могу просто изменить цифры тогда .. извините за это, большое вам спасибо