Python TypeError:int()参数必须是字符串或数字,而不是';列表';请
嗨,我正在制作一个代码,用于重新计算食谱中的份量,但我一直得到这个 错误:TypeError:int()参数必须是字符串或数字,而不是“列表” 这是我的代码:Python TypeError:int()参数必须是字符串或数字,而不是';列表';请,python,python-3.x,Python,Python 3.x,嗨,我正在制作一个代码,用于重新计算食谱中的份量,但我一直得到这个 错误:TypeError:int()参数必须是字符串或数字,而不是“列表” 这是我的代码: testfile = open(fname, 'r+') new_ingrediants = input("How Many People Do You Want To Recalculate For?") new_ingrediants = int(new_ingrediants) ingrediant1 = open(fname).r
testfile = open(fname, 'r+')
new_ingrediants = input("How Many People Do You Want To Recalculate For?")
new_ingrediants = int(new_ingrediants)
ingrediant1 = open(fname).readlines(3)
ingrediant1 = int(ingrediant1)
new_ingrediant1 = (ingrediant1*new_ingrediants)
print (new_ingrediant1)
readlines(3)
从文件中读取3行并返回一个列表,因此您将列表传递给int
。您希望从fname
中读取哪些可以转换为int
的内容?回答这个问题,你就可以修改你的代码。我同意。您需要更好地指定要从文件中读取的内容。
无论如何,要将列表转换为整数元素,可以使用numpy的整数格式。例如:
import numpy as np
l = ["1", "2", "5"]
np.int32(l)
但是,请确保输入文件包含什么内容。空行将引发异常。此。readlines(3)
返回列表,不能将列表传递给int()