我正在制作一个代码,用于重新计算食谱中的份量,但我会继续这个
错误:TypeError:int()参数必须是字符串或数字,而不是' list'
这是我的代码:
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)
答案 0 :(得分:1)
readlines(3)
从文件中读取3行并返回一个列表,因此您将列表传递给int
。您希望从fname
读取哪些内容可以转换为int
?回答这个问题,你可以修改你的代码。
答案 1 :(得分:0)
我同意chepner's answer。您需要更好地指定要从文件中读取的内容。 无论如何,要将列表转换为整数元素,您可以使用numpy的整数格式。例如:
import numpy as np
l = ["1", "2", "5"]
np.int32(l)
但是,请确保您的输入文件包含什么。空行会引发异常。