问题描述
我正在尝试创建一个打印混洗字母的游戏,用户必须从该列表中创建一个单词。用户可以选择退出、查看分数和继续玩游戏。我很难弄清楚我的代码有什么问题。错误提示“语法错误:解析时出现意外 EOF”
cdk deploy --all
请帮我修正语法错误。
解决方法
现在应该可以运行了。
您不能在函数和循环之外使用 return
或 break
。我想你想要的是exit()
您可以使用专为编码而设计的文本编辑器(例如 VS Code)来避免 EoF 问题。他们会告诉您这些错误的位置。
最后,您可以在字符串中使用 \n
添加换行符。这将使您的 print
输出更具可读性。
class Node:
def __init__(self,key):
self.left = None
self.right = None
self.val = key
def printPreorder(root):
if root:
print(root.val),printPreorder(root.left)
printPreorder(root.right)
class stack:
def __init__(self):
self.items = []
def push(self,item):
return self.items.append(item)
def pop(self):
return self.items.pop()
def size(self):
return len(self.items)
print ("Create 3 words using the letters")
root = Node('a')
root.right = Node('n')
root.left = Node ('t')
printPreorder(root)
print("-----------------------------------")
s1 = stack()
while (s1.size() <3):
try:
FirstList = (input("Enter the word you created: "))
if (FirstList == 'an'):
s1.push(FirstList)
elif (FirstList == 'ant'):
s1.push(FirstList)
elif (FirstList == 'tan'):
s1.push(FirstList)
finally:
print(s1.items)
legend1 = (input("Choose next move\n1 = Countinue to the next round\n2 = Show score\n3 = Exit\nLegend: "))
if legend1 == '3':
exit1 = (input("Are you sure you want to exit?\n1 = yes\n2 = no"))
if (exit1 == '1'):
exit()
elif (exit1 == '2'):
exit()
else:
print("Enter valid legend: ")
elif legend1 == '2':
print(s1.size())
elif legend1 == '1':
s2 = stack()
print ("Create 3 words using the letters")
root = Node('i')
root.right = Node('d')
root.left = Node ('m')
printPreorder(root)
print("-----------------------------------")
s1 = stack()
while (s2.size() <3):
try:
SecondList = (input("Enter the word you created: "))
if (SecondList == 'hid'):
s2.push(SecondList)
elif (SecondList == 'dim'):
s2.push(SecondList)
elif (SecondList == 'id'):
s2.push(SecondList)
finally:
print(s2.items)