私のコードは、入力後に二分木の数を決定して表示することになっています。
エラーが発生し続け、can't convert int object to str implicitly
修正方法がわかりません。Python の 3.0 以下のバージョンで簡単に動作するので、助けてください。私はまだ Python の初心者であり、何が間違っているのかを理解したいと思っています。
import sys
print ("Welcome to Binary Tree Enumeration!")
x = input("Type an integer to output its binary trees: ")
print ("\nYou entered " + str(x))
def distinct(x):
leafnode = '.'
dp = []
newset = set()
newset.add(leafnode)
dp.append(newset)
for i in range(1,x):
newset = set()
for j in range(i):
for leftchild in dp[j]:
for rightchild in dp[i-j-1]:
newset.add(("(") + leftchild + rightchild + (")"))
dp.append(newset)
return dp[-1]
alltrees = distinct(x+1)
for tree in alltrees:
print (tree)
print ("Thank you for trying this out!")
追加するのを忘れていました...これは私が得ているエラーです。
Traceback (most recent call last):
File "main.py", line 29, in
alltrees = distinct(x+1)
TypeError: Can't convert 'int' object to str implicitly