【发布时间】:2020-01-13 10:35:28
【问题描述】:
我有以下功能,它结合了多个功能,但这是“最终功能”
boek = set()
vol_boek = set(np.arange(10))
def tellen():
aantal_keren = 0
while boek != vol_boek:
plakken()
aantal_keren += 1
print(f"Er waren {aantal_keren} pakjes nodig om het boek te vullen.")
这很好用,“boek”和“vol_boek”是在“tellen()”之外声明的。它速度快而且效果很好。
但是,当我像这样在“tellen()”中放置“boek”和“vol_boek”的声明时,它真的很慢,并且 jupyter notebook 会在一段时间后超时。你能告诉我这是为什么吗?本质上似乎是一样的。有没有办法在里面执行带有 set() 的函数?我需要用一个空集启动函数,所以我使用了 boek = set()。
这是我的代码,里面有声明:
def tellen():
boek = set()
vol_boek = set(np.arange(10))
aantal_keren = 0
while boek != vol_boek:
plakken()
aantal_keren += 1
print(f"Er waren {aantal_keren} pakjes nodig om het boek te vullen.")
附言这是我的其余代码:
def inhoud_pakje():
pakje = np.random.choice(range(10), 4, replace=False)
return pakje
def plakken():
pakje = inhoud_pakje()
for i in pakje:
boek.update(pakje)
return boek
【问题讨论】:
-
您确定这不仅仅是因为
boek在plakken中未定义而导致错误吗? -
您好,感谢您的回答。我已将
boek = set()添加到笔记本的“顶部”,并将boek = set()添加到“plakken()”。这样我希望每次执行 plakken 时都用一个空的“boek”。这不起作用。 jupyter notebook 中的单元格一直在运行。 -
我修好了!使用 boek.clear() 以“空集”开头感谢您的回答!!!
标签: python function variables jupyter-notebook