- Python
///
- 2023-1-27 13:41:06 @
log = print
def ensure(condition, message):
if condition:
log('*** 测试成功')
else:
log('*** 测试失败:', message)
def sum(number_list):
s = 0
for i in range(len(number_list)):
n = number_list[i]
s = s + n
return s
def minus(number_list):
r = number_list[0]
for i in range(1,len(number_list)):
r = r - number_list[i]
return r
def product(number_list):
r = 1
for e in number_list:
r = r * e
return r
def divide(number_list):
r = number_list[0]
for i in range(1,len(number_list)):
r = r / number_list[i]
return r
def apply_list(op,number_list):
if op == '+':
r = sum(number_list)
return r
if op == '-':
r = minus(number_list)
return r
if op == '*':
r = product(number_list)
return r
if op == '/':
r = divide(number_list)
return r
def test_apply_list():
ensure(apply_list('+', [1, 2, 3, 4]) == 10, 'apply list 111')
ensure(apply_list('-', [1, 2, 3, 4]) == -8, 'apply list 222')
ensure(apply_list('*', [1, 2, 3, 4]) == 24, 'apply list 333')
ensure(apply_list('/', [12, 2, 3]) == 2, 'apply list 444')
log('$$$ apply_list 测试完成')
test_apply_list(
log = print
def ensure(condition, message):
if condition:
log('*** 测试成功')
else:
log('*** 测试失败:', message)
def apply_compare(expression):
op = expression[0]
if op == '>':
return expression[1] > expression[2]
elif op == '<':
return expression[1] < expression[2]
elif op == '==':
return expression[1] == expression[2]
else:
log('非法字符',op)
def test_apply_compare():
ensure(apply_compare(['<', 1, 2]), 'apply compare 1')
ensure(apply_compare(['>', 2, 1]), 'apply compare 2')
ensure(apply_compare(['==', 2, 2]), 'apply compare 3')
ensure(apply_compare(['===', 2, 2]), 'apply compare 4')
log('$$$ apply_compare 测试完成')
test_apply_compare()
log = print
def ensure(condition, message):
if condition:
log('*** 测试成功')
else:
log('*** 测试失败:', message)
def sum(number_list):
s = 0
for i in range(len(number_list)):
n = number_list[i]
s = s + n
return s
def minus(number_list):
r = number_list[0]
for i in range(1,len(number_list)):
r = r - number_list[i]
return r
def product(number_list):
r = 1
for e in number_list:
r = r * e
return r
def divide(number_list):
r = number_list[0]
for i in range(1,len(number_list)):
r = r / number_list[i]
return r
def apply_compare(expression):
op = expression[0]
if op == '>':
return expression[1] > expression[2]
elif op == '<':
return expression[1] < expression[2]
elif op == '==':
return expression[1] == expression[2]
else:
log('非法字符',op)
def apply_list2(op_list):
op = op_list[0]
if op == '+':
return sum(op_list[1:])
if op == '-':
r = minus(op_list[1:])
return r
if op == '*':
r = product(op_list[1:])
return r
if op == '/':
r = divide(op_list[1:])
return r
def apply_ops(expression):
op = expression[0]
if op == '+' or op == '/' or op == '*':
return apply_list2(expression)
else:
return apply_compare(expression)
def test_apply_ops():
ensure(apply_ops(['<', 1, 2]) , 'apply ops 1')
ensure(apply_ops(['+', 1, 2, 3, 4]) == 10, 'apply ops 2')
log('$$$ apply_ops 测试完成')
test_apply_ops()
4 条评论
-
掉榜模式 (王靖翔) LV 7 @ 2023-1-28 19:24:43
请您结贴
-
2023-1-27 18:48:13@
WHAT
???
-
2023-1-27 18:47:14@
我姐逼我给他发代码😕,我发了个错的,让他自己写。
👎 1 -
2023-1-27 13:47:34@
你发这个帖子的目的是什么?如果是要我们帮你找错,那我只能告诉你的代码有语法错误
- 1