我有一个输入文件
Corn Fiber 17
Beans Protein 12
Milk Protien 15
Butter Fat 201
Eggs Fat 2
Bread Fiber 12
Eggs Cholesterol 4
Eggs Protein 8
Milk Fat 5
Run Code Online (Sandbox Code Playgroud)
这被加载到表中。然后我可以运行命令来检查项目的值。例如>print(foods.Eggs.Fat)
2
我需要做的是能够搜索某个项目是否已在表中。我有一个函数可以检查表是否有值,但它似乎不起作用。我的代码:
file = io.open("food.txt")
function has_value (tab, val)
for index, value in ipairs(tab) do
if value == val then
return true
else
return false
end
end
end
foods = {}
for line in file:lines()
do
local f, n, v = line:match("(%a+) (%a+) (%d+)")
if foods[f] then
foods[f][n] = v …Run Code Online (Sandbox Code Playgroud) 我有一个非常基本的Lua脚本,询问数学问题
math.randomseed(os.time())
print ("Let's play Math")
a = math.random(1,10)
b = math.random(1,10)
io.write("What is " .. a .. " + " .. b .. "?")
answer = io.read()
correct = (a + b)
if (answer == correct) then
print ("Correct")
else
print ("Wrong")
print (correct) --For debug
end
Run Code Online (Sandbox Code Playgroud)
出于某种原因,即使正确回答,我也总是"不正确".我也打印出正确的答案,只是为了确保程序正确处理数学.我的错误在哪里?
问题是读取文件,使用re.findall()查找整数,查找"[0-9] +"的正则表达式,然后将提取的字符串转换为整数并汇总整数.
我的代码:sample.txt是我的文本文件
import re
hand = open('sample.txt')
for line in hand:
line = line.rstrip()
x = re.findall('[0-9]+',line)
print x
x = [int(i) for i in x]
add = sum(x)
print add
Run Code Online (Sandbox Code Playgroud)
OUTPUT:
