我正在制作一个人工智能程序。 (各种各样的) 到目前为止它只是打印变量,如果var等于0则复制自己。如果它等于其他任何东西,那么它打印var并要求你退出。唯一的问题是,它一直在运行,我疲惫的眼睛似乎无法找到原因。任何人都可以帮我弄清楚为什么它一直在运行?
继承我的代码:
import os
def AI():
var = 0
if var == 0:
var += 1
print ("var equals 0")
filename = raw_input("Name your file: ")
filesave = raw_input("Location of your file: ")
fptr = open(filesave + filename, "w")
fptr.write(AI())
else:
print ("var equals " + str(var))
exit = raw_input("exit?")
AI()
答案 0 :(得分:0)
你递归地调用AI,它永远不会有机会达到你的其他声明。你可以这样做:
def AI(initial = True):
var = 0
if not initial:
var = raw_input("exit?")
print ("var equals " + str(var))
if var == 0:
print ("var equals 0")
filename = raw_input("Name your file: ")
filesave = raw_input("Location of your file: ")
fptr = open(filesave + filename, "w")
fptr.write(AI(False))
AI()