我正在尝试用Python设计一个函数,该函数根据用户输入实例化许多对象。我推导了一个可行的方法,它看起来如下
class Node(): ...
def initialise():
binary_tree=[]
opt=int(input("Enter the number of nodes you want\n"))
for i in range(opt):
a=Node()
binary_tree.append(a)
尽管我不确定这是否是理想的方法。
是否有更好的方法来对诸如我所描述的函数进行编程,或者上述方法是否足以提高效率和清晰度?
感谢您的答复,谢谢。
答案 0 :(得分:0)
您的代码似乎可以正常工作。
还有其他选择格式的选项;例如,您可以使用列表理解,它可能比使用.append()
更快,并且使用的代码也更少:
def initialise():
opt = int(input("Enter the number of nodes you want\n"))
return [
Node()
for _ in range(opt)]
谨慎:如果使用者输入了无法转换为ValueError
的字符串,则此代码(以及您的版本)可能会引发int
。