#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. ах, хорошо, может быть, я могу просто изменить цифры тогда .. извините за это, большое вам спасибо