例如:
def main():
if something == True:
player()
elif something_else == True:
computer()
def player():
# do something here
check_winner() # check something
computer() # let the computer do something
def check_winner():
check something
if someone wins:
end()
def computer():
# do something here
check_winner() # check something
player() # go back to player function
def end():
if condition:
# the player wants to play again:
main()
elif not condition:
# the player doesn't want to play again:
# stop …Run Code Online (Sandbox Code Playgroud) 我需要找到我的元组是否只包含None值.
我使用这段代码,但我不确定这是好的做法:
# coding=utf8
def isOnlyNoneValuesTuple(t):
"""
test if tuple contains only None values
"""
if not len(tuple(itertools.ifilter(None, t))):
return True
else:
return False
print isOnlyNoneValuesTuple((None,None,None,None,None,None,None,None,None,None,None,None,))
print isOnlyNoneValuesTuple((None,None,None,"val",None,None,None,None,))
Run Code Online (Sandbox Code Playgroud)
你知道其他好的做法来测试它吗?
谢谢你的意见
trend.py和test_trend.py位于同一文件夹中.我有一个带有函数find_regres_values的类Trend,它是从实例方法perform_analysis调用的.
trend.py:
class Trend:
def __init__(self, values, trend_type):
self.all_values = values
def permorn_analysis(self, first, trend_type):
#blabla
vals_reg = ["a", "b", "c", "d"]
find_regres_values(vals_reg, first, trend_type)
def find_regres_values(vals_reg, first, trend_type):
#do somethin
pass
Run Code Online (Sandbox Code Playgroud)
在test_trend.py中
from trend import find_regres_values
class ConsecRegions(unittest.TestCase):
def test_find_regres_values_decreas_min_before_max(self):
#initialize some values
output = find_regres_values(vals_reg, first, trend_type)
self.assertEqual(output, result)
Run Code Online (Sandbox Code Playgroud)
它显示了一个错误:
File "test_trend.py", line 2, in <module>
from trend import find_regres_values
ImportError: cannot import name find_regres_values
Run Code Online (Sandbox Code Playgroud)
如何导入一个功能进行测试?